Hi guys... I have the cryptopp code inside my Qt Project and before I try to compile it with vs 2013, I always compile it with mingw and everything was fine. Now, I had download the Qt 5.5.1 version for vs 2013 and I'm getting this linker error:
gcm.obj : error LNK2019: unresolved external symbol GCM_AuthenticateBlocks_2K referenced in function "protected: virtual unsigned __int64 __cdecl CryptoPP::GCM_Base::AuthenticateBlocks(unsigned char const *,unsigned __int64)" (?AuthenticateBlocks@GCM_Base@CryptoPP@@MEAA_KPEBE_K@Z) gcm.obj : error LNK2019: unresolved external symbol GCM_AuthenticateBlocks_64K referenced in function "protected: virtual unsigned __int64 __cdecl CryptoPP::GCM_Base::AuthenticateBlocks(unsigned char const *,unsigned __int64)" (?AuthenticateBlocks@GCM_Base@CryptoPP@@MEAA_KPEBE_K@Z) integer.obj : error LNK2019: unresolved external symbol Baseline_Add referenced in function "int __cdecl CryptoPP::Add(unsigned __int64 *,unsigned __int64 const *,unsigned __int64 const *,unsigned __int64)" (?Add@CryptoPP@@YAHPEA_KPEB_K1_K@Z) integer.obj : error LNK2019: unresolved external symbol Baseline_Sub referenced in function "int __cdecl CryptoPP::Subtract(unsigned __int64 *,unsigned __int64 const *,unsigned __int64 const *,unsigned __int64)" (?Subtract@CryptoPP@@YAHPEA_KPEB_K1_K@Z) panama.obj : error LNK2019: unresolved external symbol Panama_SSE2_Pull referenced in function "protected: virtual void __cdecl CryptoPP::PanamaCipherPolicy<struct CryptoPP::EnumToType<enum CryptoPP::ByteOrder,1> >::CipherResynchronize(unsigned char *,unsigned char const *,unsigned __int64)" (?CipherResynchronize@?$PanamaCipherPolicy@U?$EnumToType@W4ByteOrder@CryptoPP@@$00@CryptoPP@@@CryptoPP@@MEAAXPEAEPEBE_K@Z) rdrand.obj : error LNK2019: unresolved external symbol MASM_RRA_GenerateBlock referenced in function "public: virtual void __cdecl CryptoPP::RDRAND::GenerateBlock(unsigned char *,unsigned __int64)" (?GenerateBlock@RDRAND@CryptoPP@@UEAAXPEAE_K@Z) rdrand.obj : error LNK2019: unresolved external symbol MASM_RSA_GenerateBlock referenced in function "public: virtual void __cdecl CryptoPP::RDSEED::GenerateBlock(unsigned char *,unsigned __int64)" (?GenerateBlock@RDSEED@CryptoPP@@UEAAXPEAE_K@Z) rijndael.obj : error LNK2019: unresolved external symbol Rijndael_Enc_AdvancedProcessBlocks referenced in function "public: virtual unsigned __int64 __cdecl CryptoPP::Rijndael::Enc::AdvancedProcessBlocks(unsigned char const *,unsigned char const *,unsigned char *,unsigned __int64,unsigned int)const " (?AdvancedProcessBlocks@Enc@Rijndael@CryptoPP@@UEBA_KPEBE0PEAE_KI@Z) salsa.obj : error LNK2019: unresolved external symbol Salsa20_OperateKeystream referenced in function "protected: virtual void __cdecl CryptoPP::Salsa20_Policy::OperateKeystream(enum CryptoPP::KeystreamOperation,unsigned char *,unsigned char const *,unsigned __int64)" (?OperateKeystream@Salsa20_Policy@CryptoPP@@MEAAXW4KeystreamOperation@2@PEAEPEBE_K@Z) sha.obj : error LNK2019: unresolved external symbol X86_SHA256_HashBlocks referenced in function "public: virtual unsigned __int64 __cdecl CryptoPP::SHA256::HashMultipleBlocks(unsigned int const *,unsigned __int64)" (?HashMultipleBlocks@SHA256@CryptoPP@@UEAA_KPEBI_K@Z) sosemanuk.obj : error LNK2019: unresolved external symbol Sosemanuk_OperateKeystream referenced in function "protected: virtual void __cdecl CryptoPP::SosemanukPolicy::OperateKeystream(enum CryptoPP::KeystreamOperation,unsigned char *,unsigned char const *,unsigned __int64)" (?OperateKeystream@SosemanukPolicy@CryptoPP@@MEAAXW4KeystreamOperation@2@PEAEPEBE_K@Z) ..\..\Nautam\lib\cryptopp.dll : fatal error LNK1120: 11 unresolved externals jom: C:\Users\freddy\Documents\nautam\build-nautam-kernel-Desktop_Qt_5_5_1_MSVC2013_64bit-Debug\cryptopp\Makefile.Debug [..\..\Nautam\lib\cryptopp.dll] Error 1120 jom: C:\Users\freddy\Documents\nautam\build-nautam-kernel-Desktop_Qt_5_5_1_MSVC2013_64bit-Debug\cryptopp\Makefile [debug] Error 2 13:45:14: The process "C:\Qt\Qt5.5.1\Tools\QtCreator\bin\jom.exe" exited with code 2. Error while building/deploying project nautam-kernel (kit: Desktop Qt 5.5.1 MSVC2013 64bit) When executing step "Make" I have search inside the code and I've found this definition: #ifdef CRYPTOPP_X64_MASM_AVAILABLE extern "C" { void GCM_AuthenticateBlocks_2K(const byte *data, size_t blocks, word64 *hashBuffer, const word16 *reductionTable); void GCM_AuthenticateBlocks_64K(const byte *data, size_t blocks, word64 *hashBuffer); } #endif and before of that, in config.h I have found this piece of code: #if !defined(CRYPTOPP_DISABLE_ASM) && defined(_MSC_VER) && defined(_M_X64) #define CRYPTOPP_X64_MASM_AVAILABLE #endif So, I'm compiling with vs 2013 for 64 bits, so, the CRYPTOPP_X64_MASM_AVAILABLE macro is defined... until this point everything is fine... the problem is that I can't find where is the implementation GCM_AuthenticationBlocks_2K and GCM_AuthenticationBlocks_64K? I have a link error because of that... can anyone help with it?? regards -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com. 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 cryptopp-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.