On Sunday, October 11, 2015 at 12:45:12 PM UTC-4, jean-pierre.muench wrote:
>
> Well, ... I already found the issue.
>
> It's a project conversion error that removes the custom build steps for 
> our .asm files. This makes the .asm not being assembled and integrated into 
> the library, resulting in a linker failure as the necessary code is 
> missing. This only affects x64 as x86 uses inline assembly. And it only 
> occurred when migrating to VS2015, 2010 and 2012 worked just fine.
>
> You'll have to forgive my ignorance here....

Below is what I see after a VCUpgrade and subsequent build. It appears the 
custom build steps are present for x64.

When I check for the symbol using dumpbin:

C:\Program Files (x86)\Microsoft Visual Studio 11.0>cd 
C:\...\cryptopp-5.6.3-vs2012\x64\Output\Debug

C:\...\cryptopp-5.6.3-vs2012\x64\Output\Debug>dumpbin /SYMBOLS cryptlib.lib 
| findstr "DEFAULT_CHANNEL"
1874 00000000 SECT71D notype       External    | 
?DEFAULT_CHANNEL@CryptoPP@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@B
 
(class std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > const CryptoPP::DEFAULT_CHANNEL)
...

C:\...\cryptopp-5.6.3-vs2012\x64\Output\Debug>dumpbin /SYMBOLS cryptlib.lib 
| findstr "rdtable"
00E 00000000 UNDEF  notype       External     | 
?Te@rdtable@CryptoPP@@3PA_KA (unsigned __int64 * CryptoPP::rdtable::Te)

How exactly, did you resolve the issue?

Jeff

----------
1>------ Build started: Project: cryptlib, Configuration: Debug x64 ------
1>Build started 10/12/2015 12:10:40 AM.
1>PrepareForBuild:
1>  Creating directory "x64\Output\Debug\".
1>InitializeBuildStatus:
1>  Creating "x64\Output\Temp\Debug\cryptlib.unsuccessfulbuild" because 
"AlwaysCreate" was specified.
1>CustomBuild:
1>  Performing Custom Build Tools
1>  Performing Custom Build Tools
1>   Assembling: C:\Users\...\Desktop\cryptopp-5.6.3-vs2012\x64dll.asm
1>  Performing Custom Build Tools
1>   Assembling: C:\Users\...\Desktop\cryptopp-5.6.3-vs2012\x64masm.asm
...
1>Lib:
1>  cryptlib.vcxproj -> 
C:\Users\...\Desktop\cryptopp-5.6.3-vs2012\x64\Output\Debug\cryptlib.lib
1>FinalizeBuildStatus:
1>  Deleting file "x64\Output\Temp\Debug\cryptlib.unsuccessfulbuild".
1>  Touching "x64\Output\Temp\Debug\cryptlib.lastbuildstate".
1>
1>Build succeeded.

2>------ Build started: Project: cryptest, Configuration: Debug x64 ------
2>Build started 10/12/2015 12:11:23 AM.
2>InitializeBuildStatus:
...
2>  Generating Code...
2>cryptlib.lib(x64dll.obj) : error LNK2019: unresolved external symbol 
"unsigned __int64 * CryptoPP::rdtable::Te" (?Te@rdtable@CryptoPP@@3PA_KA) 
referenced in function Rijndael_Enc_AdvancedProcessBlocks
2>x64\Output\Debug\cryptest.exe : fatal error LNK1120: 1 unresolved 
externals

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to