[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Problems building sm_free3DLL project in SFL 1.6 by means of VC++ 6.0 SP3
Gianluca:
This is not obvious, the default settings in the Crypto++ library are not
consistent with the SFL. It is easy to fix and re-build:
In the Crypto++ project, go to Project Settings;C/C++ tab;
Category: Code Generation
Use run-time library: Debug Multithreaded DLL
AND "Multithreaded DLL" for Release copy. Rebuild the Crypto++ project.
Welcome to Microsoft's memory model.
Bob Colestock
-----Original Message-----
From: Gianluca Ramunno [mailto:ramunno@xxxxxxxxx]
Sent: Friday, April 14, 2000 11:09 AM
To: imc-sfl@xxxxxxx
Subject: Problems building sm_free3DLL project in SFL 1.6 by means of
VC++ 6.0 SP3
Hi all,
1) I downloaded SFL 1.6 (smimeR16.zip & smR16CTI.zip) and Crypto++ v. 3.1
libraries (crypto31.zip).
2) I extracted from zip archives all files so I obtained such a directory
structure
<root>
\crypto++.31
\smimeR16
3) I opened '<root>\crypto++.31\cryptest.dsw' and compiled Crypto++ without
modifiing project options.
For testing library I ran 'cryptest.exe v' -> OK!
4) I opened '<root>\smimeR1.6\smime.dsw' then I inserted
'<root>\crypto++.31\cryplib.dsp' as sm_free3DLL subproject
I didn't made other changes in workspace nor projects.
5) Then I tried to build i.e. CertificateBuilder project only.
Results:
Library 'libCertDLLd.lib', 'libsmd.lib', 'libsmutild.lib' were created
without problems. Compiling sm_free3DLL code was OK, but linker gave me a
lot of errors for duplicated refereces as follow:
---------------------------------------------------------
Linking...
msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::~basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_strin
g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in
cryptlib.lib(integer.obj)
---------------------------------------------------------
So I think I need to modify cryptlib or sm_free3DLL project options in order
to have only a unique reference to msvcprtd.lib, libcpmtd.lib and other
standard libraries.
But which way (I'm a novice for VC++)?
Thank's a lot
Gianluca Ramunno
---------------------------------------------------------------------
Gianluca Ramunno (ramunno@xxxxxxxxx)