[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)