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])
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.