Discussion:
Having trouble compiling cryptopp with vs 2013 for x86_64
Freddy Martinez
2016-04-06 16:56:12 UTC
Permalink
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
--
--
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.
Jeffrey Walton
2016-04-06 19:21:14 UTC
Permalink
Post by Freddy Martinez
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
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.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)"
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)"
..\..\Nautam\lib\cryptopp.dll : fatal error LNK1120: 11 unresolved externals
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
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"
#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
#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??
I believe QT should be invoking MASM (ml64.exe) on x64masm.asm
(http://github.com/weidai11/cryptopp/blob/master/x64masm.asm).

According to the cryptlib.proj, it should be invoked with the following
defines
(https://github.com/weidai11/cryptopp/blob/master/cryptlib.vcproj#L8658):

/D_M_X64 /Zi

Another option is to have Qt set CRYPTOPP_DISABLE_ASM to disable all the
assembly language routines.

Jeff
--
--
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.
MalleeswaraReddy s
2017-11-30 03:10:45 UTC
Permalink
On linux and mac , crypto cpp library with Qt worked correctlry.

On windows msvc 2015 64 bit + Qt 5.9 getting error.

----------------------------------------------------------------------------------

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe" -f
Makefile.Release

link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /DLL /SUBSYSTEM:WINDOWS
/OUT:..\plugins\win\cryptoplugin.dll
@C:\Users\ernds\AppData\Local\Temp\nmD403.tmp

Creating library ..\plugins\win\cryptoplugin.lib and object
..\plugins\win\cryptoplugin.exp

cryptopp.lib(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)

cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Add referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
(?***@ModularArithmetic@CryptoPP@@***@2@***@AEBV32@@Z)

cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Sub referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
(?***@ModularArithmetic@CryptoPP@@***@2@***@AEBV32@@Z)

cryptopp.lib(sha.obj) : error LNK2019: unresolved external symbol
X86_SHA256_HashBlocks referenced in function "public: virtual unsigned
__int64 __cdecl CryptoPP::SHA224::HashMultipleBlocks(unsigned int const
*,unsigned __int64)" (?***@SHA224@CryptoPP@@***@Z)

..\plugins\win\cryptoplugin.dll : fatal error LNK1120: 4 unresolved
externals

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\BIN\x86_amd64\link.EXE"' : return code '0x460'

Stop.

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\BIN\nmake.exe"' : return code '0x2'

Stop.

NMAKE : fatal error U1077: 'cd' : return code '0x2'

Stop.

01:55:20: The process "C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\BIN\nmake.exe" exited with code 2.

Error while building/deploying project cryptoplugin (kit: Qt 5.9.2
(msvc2015_64))

The kit Qt 5.9.2 (msvc2015_64) has configuration issues which might be the
root cause for this problem.

When executing step "Make"


If any body have idea, please let me know


thanks in advance.

----------------------------------------------------------------------------------
Post by Freddy Martinez
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
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.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)"
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)"
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)"
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)"
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.obj : error LNK2019: unresolved external symbol
MASM_RSA_GenerateBlock referenced in function "public: virtual void __cdecl
CryptoPP::RDSEED::GenerateBlock(unsigned char *,unsigned __int64)"
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
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)"
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
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)"
..\..\Nautam\lib\cryptopp.dll : fatal error LNK1120: 11 unresolved externals
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
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"
#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
#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.
Jeffrey Walton
2017-12-05 18:50:09 UTC
Permalink
This post might be inappropriate. Click to display it.
Marcel Raad
2017-12-05 19:56:04 UTC
Permalink
Am 30.11.2017 04:10 schrieb "MalleeswaraReddy s" <***@gmail.com>:

cryptopp.lib(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)

cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Add referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
(?***@ModularArithmetic@CryptoPP@@***@2@***@AEBV32@@Z)

cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Sub referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
(?***@ModularArithmetic@CryptoPP@@***@2@***@AEBV32@@Z)

cryptopp.lib(sha.obj) : error LNK2019: unresolved external symbol
X86_SHA256_HashBlocks referenced in function "public: virtual unsigned
__int64 __cdecl CryptoPP::SHA224::HashMultipleBlocks(unsigned int const
*,unsigned __int64)" (?***@SHA224@CryptoPP@@***@Z)


These are defined in x64dll.asm. I'm using the Visual Studio project files
to build, where there's a build step to create object files for them.

Marcel
--
--
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.
MalleeswaraReddy s
2017-12-17 15:51:20 UTC
Permalink
nasm -f elf64 -g -F dwarf -o x64dll.o x64dll.asm

not able to compile
Post by MalleeswaraReddy s
cryptopp.lib(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
cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Add referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Sub referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
cryptopp.lib(sha.obj) : error LNK2019: unresolved external symbol
X86_SHA256_HashBlocks referenced in function "public: virtual unsigned
__int64 __cdecl CryptoPP::SHA224::HashMultipleBlocks(unsigned int const
These are defined in x64dll.asm. I'm using the Visual Studio project files
to build, where there's a build step to create object files for them.
Marcel
--
--
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.
MalleeswaraReddy s
2017-12-17 16:49:45 UTC
Permalink
QMAKE_EXTRA_COMPILERS += nasm
NASMEXTRAFLAGS = -f elf64 -g -F dwarf
OTHER_FILES += $$NASM_SOURCES
nasm.output = ${QMAKE_FILE_BASE}.o
nasm.commands = nasm $$NASMEXTRAFLAGS -o ${QMAKE_FILE_BASE}.o
${QMAKE_FILE_NAME}
nasm.input = NASM_SOURCES

NASM_SOURCES += x64dll.asm \
x64masm.asm


On Sunday, December 17, 2017 at 9:21:20 PM UTC+5:30, MalleeswaraReddy s
Post by MalleeswaraReddy s
nasm -f elf64 -g -F dwarf -o x64dll.o x64dll.asm
not able to compile
Post by MalleeswaraReddy s
cryptopp.lib(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
cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Add referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Sub referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
cryptopp.lib(sha.obj) : error LNK2019: unresolved external symbol
X86_SHA256_HashBlocks referenced in function "public: virtual unsigned
__int64 __cdecl CryptoPP::SHA224::HashMultipleBlocks(unsigned int const
These are defined in x64dll.asm. I'm using the Visual Studio project
files to build, where there's a build step to create object files for them.
Marcel
--
--
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.
Jeffrey Walton
2017-12-17 18:35:08 UTC
Permalink
Post by MalleeswaraReddy s
nasm -f elf64 -g -F dwarf -o x64dll.o x64dll.asm
not able to compile
x64dll.asm provides the x64 ASM routines, but restricts to the functions
needed for the FIPS DLL; see https://www.cryptopp.com/wiki/FIPS_DLL. There
are only 6 functions in it; see
https://github.com/weidai11/cryptopp/blob/master/x64dll.asm

"not able to compile" is not a useful problem statement. Nasm does not
compile; it assembles. You need to provide details of the failure. Also see
https://www.cryptopp.com/wiki/Bug_Report .

Jeff
--
--
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.
Malumbo Chipofya
2018-10-21 16:17:09 UTC
Permalink
I had exact the same bugs. In my case the issue arises because I'm building
on x64 and thus have CRYPTOPP_X64_MASM_AVAILABLE set while
CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE is not set.

In Visual Studio (at least 2015 upwards) this worked for me:

1. enable masm in *Build Dependencies* > *Build Customizations*
(right-click on the cryptopp project in the solution explorer).
2. specify the location of ksamd64.inc (depending on the target platform
it will be under the include directory of the corresponding platform in the
Microsoft SDK install directory - e.g. C:\Program Files\Microsoft
SDKs\Windows\v7.1\Include)
- right-click cryptopp project and select properties then under *Configuration
Properties* > *Microsoft Macro Assembler* set the path on *Include
Paths*
3. Add *x64dll.asm* to your project (right-click cryptopp project and
select *Add* > *Existing Item...*). This file should be in one of source
directories of cryptopp

Hope this helps some since I struggled with this issue for days.

Malumbo
Post by MalleeswaraReddy s
cryptopp.lib(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
cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Add referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
cryptopp.lib(integer.obj) : error LNK2019: unresolved external symbol
Baseline_Sub referenced in function "public: virtual class
CryptoPP::Integer & __cdecl CryptoPP::ModularArithmetic::Accumulate(class
CryptoPP::Integer &,class CryptoPP::Integer const &)const "
cryptopp.lib(sha.obj) : error LNK2019: unresolved external symbol
X86_SHA256_HashBlocks referenced in function "public: virtual unsigned
__int64 __cdecl CryptoPP::SHA224::HashMultipleBlocks(unsigned int const
These are defined in x64dll.asm. I'm using the Visual Studio project files
to build, where there's a build step to create object files for them.
Marcel
--
You received this message because you are subscribed to "Crypto++ Users". More information about Crypto++ and this group is available at http://www.cryptopp.com and http://groups.google.com/forum/#!forum/cryptopp-users.
---
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.
Loading...