Hi Erik,
if you want to link against the static version of MFC, you need to rebuild the Xerces library using the "Debug Multithreaded" and "Multithreaded" setting (/MTd and /MT), instead of "Debug Multithreaded DLL" and "Multithreaded DLL" (/MDd and /MD)


Alberto

At 12.12 12/05/2004 +0200, Milan Tomic wrote:
Erik,

        I did as you said but got some linker errors while trying to use
Xerces.lib in my projects:

Linking...
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _strncmp already defined in
libcmt.lib(strncmp.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _isspace already defined in
libcmt.lib(_ctype.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: __errno already defined in
libcmt.lib(dosmap.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _exit already defined in
libcmt.lib(crt0dat.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _atoi already defined in
libcmt.lib(atox.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _strchr already defined in
libcmt.lib(strchr.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: __itoa already defined in
libcmt.lib(xtoa.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _localeconv already defined in
libcmt.lib(lconv.obj)
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall
type_info::type_info(class type_info const &)"
(??0type_info@@[EMAIL PROTECTED]@@Z) already defined in libcmt.lib(typinfo.obj)
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info &
__thiscall type_info::operator=(class type_info const &)"
(??4type_info@@[EMAIL PROTECTED]@@Z) already defined in
libcmt.lib(typinfo.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: __stricmp already defined in
libcmt.lib(stricmp.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: __strnicmp already defined in
libcmt.lib(strnicmp.obj)
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other
libs; use /NODEFAULTLIB:library
Release/XercesTest.exe : fatal error LNK1169: one or more multiply
defined symbols found

The reason for those errors is that I'm using MFC. When I link them as
shared lib, there are no errors, but I'd like to link MFC as static lib.
Are you using MFC? Is there a hope? Anyone?

Thank you,
Milan


> -----Original Message----- > From: Erik Rydgren [mailto:[EMAIL PROTECTED] > Sent: Tuesday, February 17, 2004 10:16 AM > To: [EMAIL PROTECTED] > Subject: RE: Linking Xerces C++ statically > > > We link Xerces statically with MS devstudio. > How to do it: > > - First change the project type from dll to static lib. > - Remove the Win32MsgLoader from the project and add the > InMemMsgLoader instead. > - Change the project settings to define > XML_USE_INMEM_MESSAGELOADER instead of USE_WIN32_MESSAGELOADER. > - Change the defines for PLATFORM_EXPORT and PLATFORM_IMPORT > by removing the _declspec(dllexport) and _declspec(dllimport) > - Rebuild. > > Hope I didn't forget anything. > > Good luck > Erik Rydgren > Aptic AB > Sweden > > > -----Original Message----- > > From: Chaudhuri, Hiran [mailto:[EMAIL PROTECTED] > > Sent: den 16 februari 2004 17:51 > > To: [EMAIL PROTECTED] > > Subject: Linking Xerces C++ statically > > > > Hi there. > > > > In the docs it is stated that Xerces C++ requires > xerces-2.4.0.dll (on > > Windows) to be distributed. Is it possible to have Xerces linked > > statically so I do not need to distribute the DLL? > > > > Hiran > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to