I'm currently having some problems compiling the OpenSSL libraries into my project. I'm using VC++ V6 on NT4 to produce an ATL COM project. However, there seems to be some conflicts between the OpenSSL libraries and those supplied by Microsoft.
Firstly there appears to be some redefinitions of items appearing in WINCRYPT.H
e.g.
//+-------------------------------------------------------------------------
// Predefined PKCS #7 data structures that can be encoded / decoded.
//--------------------------------------------------------------------------
#define PKCS7_SIGNER_INFO ((LPCSTR) 500)
The symbol PKCS7_SIGNER_INFO is used in the OpenSSL code, but more worrying after commenting these lines out of the WINCRYPT header file I get redefinition errors from the linker:-
Generating Code...
Linking...
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _sprintf already defined in LIBCMTD.lib(sprintf.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _strncpy already defined in LIBCMTD.lib(strncpy.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: __isctype already defined in LIBCMTD.lib(isctype.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fclose already defined in LIBCMTD.lib(fclose.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fflush already defined in LIBCMTD.lib(fflush.obj)
MSVCRT.lib(MSVCRT.dll) : warning LNK4006: _sprintf already defined in LIBCMTD.lib(sprintf.obj); second definition ignored
MSVCRT.lib(MSVCRT.dll) : warning LNK4006: _strncpy already defined in LIBCMTD.lib(strncpy.obj); second definition ignored
MSVCRT.lib(MSVCRT.dll) : warning LNK4006: __isctype already defined in LIBCMTD.lib(isctype.obj); second definition ignored
MSVCRT.lib(MSVCRT.dll) : warning LNK4006: _fclose already defined in LIBCMTD.lib(fclose.obj); second definition ignored
MSVCRT.lib(MSVCRT.dll) : warning LNK4006: _fflush already defined in LIBCMTD.lib(fflush.obj); second definition ignored
Creating library Debug/SecServ.lib and object Debug/SecServ.exp
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library
Debug/SecServ.dll : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
SecServ.dll - 6 error(s), 7 warning(s)
I've tried ignoring these libraries but they are needed elsewhere so that's not a solution. Is anyone experiencing a similar problem and more importantly does anyone know what's causing it and how to fix it?
------------------------------------------------
Neil Hague
Software Engineer
JSB Software Technologies Ltd,
Riverside,
Mountbatten Way,
Congleton,
Cheshire,
CW12 1DY
Email: [EMAIL PROTECTED]
------------------------------------------------
****************************************************************************
This email is confidential and intended solely for the use of the individual to whom it is addressed. Any views or opinions presented are solely those of the author and do not necessarily represent those of JSB.
If you are not the intended recipient, be advised that you have received this email in error and that any use, dissemination, forwarding, printing, or copying of this email is strictly prohibited. If you have received this email in error please contact the sender.
****************************************************************************