Andy Polyakov wrote:
/MT option is something that cannot be used for example to
link static version of openssl to the .dll, cause in that
case the .dll itself would need to be statically linked
against msvcrt,
This is not true. You can link .obj modules originally compiled with /MT
into .dll dynamically linked with msvcrt with /link /NODEFAULTLIB:LIBCMT
option. But as of now you're excused from specifying /NODEFAULTLIB with
openssl.lib, because /Zl option omits references to LIBCMT.
Well, with /MT I'm getting the
'unresolved external symbol _iob referenced in function OPENSSL_showfatal'
This is with or without /NODEFAULTLIB:LIBCMT added to the
.dll I'm linking to.
However my .dll sources have to be build with /Zi,
so dunno if that interferes with /ZI used to build openssl.
/MT /Zl allows you to use static library in either context, i.e. to
produce statically linked application or another .dll. While /MD makes
it impossible to use static library with statically linked application.
Which is why /MT /Zl is chosen for static build. A.
Well, IMHO /MT should be banned :)
It's only usage is for producing self contained .exe that
won't dynamically load any third-party .dll.
Any chance to simply make the /MT /MD configurable at Configure
time overriding default /MD, /MT selection based
on 'dll' Configure param?
Regards
--
^(TM)
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]