Hi,

so we're trying to integrate crypto++ 5.6 into our development.  We
use it for very basic purposes.

Now, we develop multi-platform, so we just want to put all the code in
our tree and compile it with SCons. When we do this, it works for all
of our platforms, except for Windows XP 64.  The linking error looks
like so:

======
yBelt\AxSigner\build_debug_64_cl-9.0_shared\KeyGenerator.exe /
LIBPATH:A
xUtilityBelt\3rd\cryptopp-5.6.0\build_debug_64_cl-9.0_shared /
LIBPATH:A
xUtilityBelt\3rd\cryptopp-5.6.0 /LIBPATH:AxUtilityBelt\3rd\fftw\lib
Advapi32.lib
 setupapi.lib shell32.lib version.lib psapi.lib winmm.lib
cryptopp64.lib AxUtili
tyBelt\AxSigner\build_debug_64_cl-9.0_shared\source\KeyGenerator.obj
Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation.  All rights reserved.

cryptopp64.lib(integer.obj) : error LNK2019: unresolved external
symbol Baseline
_Add referenced in function "int __cdecl CryptoPP::Add(unsigned
__int64 *,unsign
ed __int64 const *,unsigned __int64 const *,unsigned __int64)" (?
a...@cryptopp@@Y
ahpea_kpeb_k...@z)
cryptopp64.lib(integer.obj) : error LNK2019: unresolved external
symbol Baseline
_Sub referenced in function "int __cdecl CryptoPP::Subtract(unsigned
__int64 *,u
nsigned __int64 const *,unsigned __int64 const *,unsigned __int64)" (?
subtr...@c
ryptoPP@@yahpea_kpeb_k...@z)
cryptopp64.lib(sha.obj) : error LNK2019: unresolved external symbol
X86_SHA256_H
ashBlocks referenced in function "public: virtual unsigned __int64
__cdecl Crypt
oPP::SHA256::HashMultipleBlocks(unsigned int const *,unsigned
__int64)" (?HashMu
ltipleblo...@sha256@CryptoPP@@ueaa_kpeb...@z)
cryptopp64.lib(rijndael.obj) : error LNK2019: unresolved external
symbol Rijndae
l_Enc_AdvancedProcessBlocks referenced in function "public: virtual
unsigned __i
nt64 __cdecl CryptoPP::Rijndael::Enc::AdvancedProcessBlocks(unsigned
char const
*,unsigned char const *,unsigned char *,unsigned __int64,unsigned int)
const " (?
advancedprocessblo...@enc@rijnd...@cryptopp@@ueba_kpebe0peae...@z)
AxUtilityBelt\AxSigner\build_debug_64_cl-9.0_shared\KeyGenerator.exe :
fatal error LNK1120: 4 unresolved externals
scons: *** [AxUtilityBelt\AxSigner\build_debug_64_cl-9.0_shared
\KeyGene
rator.exe] Error 1120
scons: building terminated because of errors.
======

So, what it looks like to me is that Baseline_Add is not being built
correctly for this platform.  Of course when I go and look at the
code, it's littered with preprocessor macros, so I really have no idea
how to go about ensuring that this.  Here is the command line for the
compilation on integer.cpp, which is file that we need to compile
correctly for linking to occur:

==============
cl /FoAxUtilityBelt\3rd\cryptopp-5.6.0\build_debug_64_cl-9.0_shared
\sou
rce\integer.obj /c AxUtilityBelt\3rd\cryptopp-5.6.0\source
\integer.cpp /W0 /Zp16
 /favor:AMD64 /EHsc /DWIN32 /D_WINDOWS /nologo /GR /DNOMINMAX /Oi /
wd4244 /MTd /
Od /Z7 /RTC1 /Oi /D_DEBUG /DEXPOSE_AX_GRIND_DLL /TP /W0 /Zp16 /
favor:AMD64 /EHsc
 /DWIN32 /D_WINDOWS /nologo /GR /DNOMINMAX /Oi /wd4244 /MTd /Od /Z7 /
RTC1 /Oi /D
_DEBUG /DEXPOSE_AX_GRIND_DLL /DBOOST_ALL_NO_LIB /
DBOOST_LIB_DIAGNOSTIC /DCUDA /D
CRYPTOPP_EXPORTS /IAxUtilityBelt\3rd
\cryptopp-5.6.0\build_debug_64_cl-9.0_shared
\include /IAxUtilityBelt\3rd\cryptopp-5.6.0\include /IAxUtilityBelt
\3rd
\cryptopp-5.6.0\build_debug_64_cl-9.0_shared\include /IAxUtilityBelt
\3r
d\cryptopp-5.6.0\include
=================

So, here's hoping there's someone who knows the code and knows which
preprocessor defines I am missing, or shouldn't have in order to solve
my linker error above.

cheers,
conrad
--~--~---------~--~----~------------~-------~--~----~
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.
-~----------~----~----~----~------~----~------~--~---

Reply via email to