Am 12.10.2015 um 06:46 schrieb Jeffrey Walton: > > > 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. They weren't for me after my update VS 2005 -> 2015 which caused my errors. > > 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? I did not solve this issue as I didn't experience it. I had the (different) error that the custom build tools got lost on conversion causing linker errors as ASM code was missing.
BR JPM > > 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] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout. -- -- 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.
