Hi Nick,

To clarify this, if you are using MFC and dynamically linking, set
Code Generation to Multi-threaded Debug DLL (/MDd) and Multi-threaded
DLL (/MD).

If you are using MFC and statically linking, set Code generation
Multi-threaded Debug (/MTd) and Multi-threaded (/MT).

Once Crypto++ is properly built, get it on PATH for your current
project. You can still use the static or DLL version of Crypto++, but
Crypto++ has to use the same runtime settings as the parent project.

Jeff

On 9/28/07, Jeffrey Walton <[EMAIL PROTECTED]> wrote:
> Hi Nick,
>
> > I'm building my project dynamically and
> > trying to build all external dependencies dynamically as well.
> If your'e project is dynamic, make all things dynamic. This include
> Crypto++. Otherwise' you'll have nothing but trouble with multiply
> imported symbols.
>
> As far as Crypto++ goes, you can still build a static version of the
> library - however it must use a dynamic link setting. For this, change
> the Project settings in Crypo++, and rebuild your static and dynamic
> library versions. This is set under Configuration Properties, C++,
> Code Generation.
>
> Jeff
>
> On 9/28/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> >
> > Jeff,
> >
> > Thanks for the response.  I'm building my project dynamically and
> > trying to build all external dependencies dynamically as well.
> > However, if I must build a static Crypto++ library to link against, I
> > can do that.  I was just wondering if I was missing some DEFINE or
> > some compiler option that would insert the missing symbols into the
> > import library that's being generated when I build the DLL.
> >
> > -Nick
> >
> > On Sep 28, 4:17 pm, "Jeffrey Walton" <[EMAIL PROTECTED]> wrote:
> > > Hi Nick,
> > >
> > > > Maybe I need to also generate the static lib and link
> > > > against that one, instead of the import lib?
> > >
> > > In the past, Wei has recommended using the static over the dynamic
> > > unless you need FIPS compliance.
> > >
> > > I personally use the static version of the library. If you don't have
> > > a taste, and want to use the static version, here are some 
> > > directions:http://www.codeproject.com/tips/CryptoPPIntegration.asp
> > >
> > > Otherwise, if you want to use the DLL, get the DLL and it's lib on
> > > PATH as described in the link above.
> > >
> > > Jeff
> > >
> > > On 9/28/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > >
> > > > Hey Jeff,
> > >
> > > > I'm copying the import lib generated from the DLL to my project's lib
> > > > directory, which is a parameter of my LIBPATH.  Maybe I need to also
> > > > generate the static lib and link against that one, instead of the
> > > > import lib?
> > >
> > > > On Sep 28, 4:00 pm, "Jeffrey Walton" <[EMAIL PROTECTED]> wrote:
> > > > > Hi Nick,
> > >
> > > > > In which directory is the LIB file residing? This is usually the
> > > > > result of desiring to use the DLL, but linking against the static LIB
> > > > > file (or vice versa).
> > >
> > > > > I only have a static lib available on this machine for 5.5.1:
> > > > > Static: ...\Win32\cryptlib\Debug and ...\Win32\cryptlib\Release
> > > > > DLL: ?
> > >
> > > > > Jeff
> > >
> > > > > On 9/28/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > >
> > > > > > I'm receiving the following errors in my project when I try to link
> > > > > > against cryptopp (I'm building the dynamic version of Crypto++, 
> > > > > > which
> > > > > > produces cryptopp.dll, cryptopp.exp and cryptopp.lib --> this is
> > > > > > the .lib I'm linking against):
> > >
> > > > > > -----------------------------------------------------------------------------------------------------------------------------------------------------
> > > > > > Crypto.obj : error LNK2019: unresolved external symbol "public:
> > > > > > virtual void __t
> > >
> > > > > > hiscall CryptoPP::Base64Encoder::IsolatedInitialize(class
> > > > > > CryptoPP::NameValuePai
> > >
> > > > > > rs const &)" (?
> > > > > > [EMAIL PROTECTED]@CryptoPP@@UAEXABVNameValuePairs@
> > >
> > > > > > 2@@Z) referenced in function "public: __thiscall
> > > > > > CryptoPP::Base64Encoder::Base64
> > >
> > > > > > Encoder(class CryptoPP::BufferedTransformation *,bool,int)" (??
> > > > > > [EMAIL PROTECTED]
> > >
> > > > > > yptoPP@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@Z)
> > >
> > > > > > Crypto.obj : error LNK2019: unresolved external symbol "private:
> > > > > > static int cons
> > >
> > > > > > t * __cdecl CryptoPP::Base64Decoder::GetDecodingLookupArray(void)" 
> > > > > > (?
> > > > > > GetDecoding
> > >
> > > > > > [EMAIL PROTECTED]@CryptoPP@@CAPBHXZ) referenced in function
> > > > > > "public: __t
> > >
> > > > > > hiscall CryptoPP::Base64Decoder::Base64Decoder(class
> > > > > > CryptoPP::BufferedTransform
> > >
> > > > > > ation *)" (??
> > > > > > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@1@@Z)
> > >
> > > > > > Crypto.obj : error LNK2019: unresolved external symbol "public:
> > > > > > virtual void __t
> > >
> > > > > > hiscall CryptoPP::Base32Encoder::IsolatedInitialize(class
> > > > > > CryptoPP::NameValuePai
> > >
> > > > > > rs const &)" (?
> > > > > > [EMAIL PROTECTED]@CryptoPP@@UAEXABVNameValuePairs@
> > >
> > > > > > 2@@Z) referenced in function "public: __thiscall
> > > > > > CryptoPP::Base32Encoder::Base32
> > >
> > > > > > Encoder(class CryptoPP::BufferedTransformation *,bool,int,class
> > > > > > std::basic_strin
> > >
> > > > > > g<char,struct std::char_traits<char>,class std::allocator<char> >
> > > > > > const &,class
> > >
> > > > > > std::basic_string<char,struct std::char_traits<char>,class
> > > > > > std::allocator<char>
> > >
> > > > > > > const &)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@[EMAIL PROTECTED]
> > >
> > > > > > [EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL 
> > > > > > PROTECTED]@2@@std@@[EMAIL PROTECTED])
> > >
> > > > > > Crypto.obj : error LNK2019: unresolved external symbol "private:
> > > > > > static int cons
> > >
> > > > > > t * __cdecl
> > > > > > CryptoPP::Base32Decoder::GetDefaultDecodingLookupArray(void)" (?GetD
> > >
> > > > > > [EMAIL PROTECTED]@CryptoPP@@CAPBHXZ) referenced
> > > > > > in functio
> > >
> > > > > > n "public: __thiscall CryptoPP::Base32Decoder::Base32Decoder(class
> > > > > > CryptoPP::Buf
> > >
> > > > > > feredTransformation *)" (??
> > > > > > [EMAIL PROTECTED]@@[EMAIL PROTECTED]
> > >
> > > > > > [EMAIL PROTECTED]@@Z)
> > >
> > > > > > Crypto.obj : error LNK2001: unresolved external symbol "public:
> > > > > > virtual void __t
> > >
> > > > > > hiscall CryptoPP::Base32Decoder::IsolatedInitialize(class
> > > > > > CryptoPP::NameValuePai
> > >
> > > > > > rs const &)" (?
> > > > > > [EMAIL PROTECTED]@CryptoPP@@UAEXABVNameValuePairs@
> > >
> > > > > > 2@@Z)
> > >
> > > > > > Crypto.obj : error LNK2001: unresolved external symbol "public: 
> > > > > > static
> > > > > > class std
> > >
> > > > > > ::basic_string<char,struct std::char_traits<char>,class
> > > > > > std::allocator<char> > c
> > >
> > > > > > onst CryptoPP::BufferedTransformation::NULL_CHANNEL" (?
> > > > > > [EMAIL PROTECTED]
> > >
> > > > > > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@V?
> > > > > > [EMAIL PROTECTED]@2@@s
> > >
> > > > > > td@@B)
> > >
> > > > > > Crypto.obj : error LNK2001: unresolved external symbol "class
> > > > > > CryptoPP::NullName
> > >
> > > > > > ValuePairs const CryptoPP::g_nullNameValuePairs" (?
> > > > > > [EMAIL PROTECTED]
> > >
> > > > > > @@[EMAIL PROTECTED]@B)
> > >
> > > > > > Crypto.obj : error LNK2001: unresolved external symbol "bool 
> > > > > > (__cdecl*
> > > > > > CryptoPP:
> > >
> > > > > > :g_pAssignIntToInteger)(class type_info const &,void *,void const
> > > > > > *)" (?g_pAssig
> > >
> > > > > > [EMAIL PROTECTED]@@3P6A_NABVtype_info@@[EMAIL PROTECTED])
> > >
> > > > > > build\win32-dynamic-debug\base\src\base.dll : fatal error LNK1120: 8
> > > > > > unresolved
> > >
> > > > > > externals
> > > > > > -----------------------------------------------------------------------------------------------------------------------------------------------------
> > >
> > > > > > I'm using sCons to build my own version of Crypto++ using the MSVC
> > > > > > 2005 toolchain and the following DEFINES:
> > >
> > > > > >      "WIN32",
> > >
> > > > > >      "_WINDOWS",
> > >
> > > > > >      "_USRDLL",
> > >
> > > > > >      "_MBCS",
> > >
> > > > > >      "CRYPTOPP_EXPORTS",
> > >
> > > > > >      "CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2=1",
> > >
> > > > > >      "USE_PRECOMPILED_HEADERS",
> > >
> > > > > > Any ideas?
> > >
> > > > > > Thanks in advance,
> > >
> > > > > > Nick
> >
> >
> > > >
> >
>

--~--~---------~--~----~------------~-------~--~----~
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