Freddy Martinez
2016-04-06 16:56:12 UTC
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)"
(?***@GCM_Base@CryptoPP@@***@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)"
(?***@GCM_Base@CryptoPP@@***@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)"
(?***@CryptoPP@@***@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)"
(?***@CryptoPP@@***@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@?$***@U?$***@W4ByteOrder@CryptoPP@@$***@CryptoPP@@@CryptoPP@@***@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)"
(?***@RDRAND@CryptoPP@@***@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)"
(?***@RDSEED@CryptoPP@@***@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
" (?***@Enc@***@CryptoPP@@***@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)"
(?***@Salsa20_Policy@CryptoPP@@***@2@***@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)" (?***@SHA256@CryptoPP@@***@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)"
(?***@SosemanukPolicy@CryptoPP@@***@2@***@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
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)"
(?***@GCM_Base@CryptoPP@@***@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)"
(?***@GCM_Base@CryptoPP@@***@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)"
(?***@CryptoPP@@***@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)"
(?***@CryptoPP@@***@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@?$***@U?$***@W4ByteOrder@CryptoPP@@$***@CryptoPP@@@CryptoPP@@***@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)"
(?***@RDRAND@CryptoPP@@***@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)"
(?***@RDSEED@CryptoPP@@***@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
" (?***@Enc@***@CryptoPP@@***@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)"
(?***@Salsa20_Policy@CryptoPP@@***@2@***@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)" (?***@SHA256@CryptoPP@@***@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)"
(?***@SosemanukPolicy@CryptoPP@@***@2@***@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-***@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+***@googlegroups.com.
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 cryptopp-users-***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.