** Reply to note from "Konstantin Sharenkov via RT" <[EMAIL PROTECTED]> Wed, 26 Oct 2005 11:36:41 +0200 (METDST) Hi,
> but nt.mak contins line > > CFLAG= /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo > -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 > -D_CRT_SECURE_NO_DEPRECATE -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM > /Fdout32 -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_KRB5 > > > > The first option is /MD - Multithreaded DLL code generation > > But for static library option should be /MT Multithreaded code > generation Not really, IMHO. Note that /MD or /MT is just about whether you want your (static) library to be used with the static C library or with the DLL. There are a number of reasons why using the DLL version of the C library is preferable, most significantly it's more widely usable (using the static C library typically implies that you cannot load DLLs without a high probability of erratic runtime behaviour and crashes), so if you are statically linking openssl lib against _several_ applications and can't be sure that none of them will _ever_ use _any_ DLL in advance, compiling with /MD is the better way to go. If you do network installations that are going to be used by several people, that's even more true. In short /MD is slightly more flexible and the risk that MS is actually breaking msvcrt.dll in an update has come quite close to 0 in the past 7 or so years. > With /MD I have a typical problem (for mixed code generation) during > linking my application. > > With /MT everything is ok. Over here, for _my_ application, everything is ok with /MD and /MT would be causing problems, so it's obviously impossible to do it in a way that makes everyone happy - unless, of course, you add even more variants to the makefile, which OTOH would cause additional confusion... Regards, Stefan ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]