RE: Problems building sm_free3DLL project in SFL 1.6 by means of VC++ 6.0 SP3
"Colestock, Robert" <[email protected]>
| Newsgroups | gmane.ietf.sfl |
|---|---|
| Message-ID | <[email protected]> |
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:[email protected]] Sent: Friday, April 14, 2000 11:09 AM To: [email protected] 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 ([email protected])