David Kelvin wrote:
Thanks David but they are already set to use the appropriate Multi-Threaded DLL
(/MDd or /MT - Debug/Release).
You don't want to use the DLL run-time -- you want to use the static
run-time. You should see /MTd for the debug configuration, and /MT for
the release configuration.
I have set the preprocessor variable XERCES_STATIC_LIBRARY. I have included the Xerces include &
lib Additional Directories and linker Addtitional Dependencies
"xerces-c_static_3D.lib"DavidHere are the full errors (sorry). I managed to reduce the number
of errors from 50 to 42 by placing "xerces-c_static_3D.lib" at the top of the Addtitional
Dependencies list.
2>Linking...
2>libcmtd.lib(tolower.obj) : error LNK2005: _tolower already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(setlocal.obj) : error LNK2005: __configthreadlocale already
defined in msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(setlocal.obj) : error LNK2005: _setlocale already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(tidtable.obj) : error LNK2005: __encode_pointer already defined
in msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(tidtable.obj) : error LNK2005: __decode_pointer already defined
in msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(_wctype.obj) : error LNK2005: _iswalpha already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(_wctype.obj) : error LNK2005: _iswupper already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(_wctype.obj) : error LNK2005: _iswlower already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(_wctype.obj) : error LNK2005: _iswdigit already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(_wctype.obj) : error LNK2005: _iswspace already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(_wctype.obj) : error LNK2005: _iswalnum already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(dbgheap.obj) : error LNK2005: _malloc already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(dbgheap.obj) : error LNK2005: _calloc already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(dbgheap.obj) : error LNK2005: __recalloc already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(dbgheap.obj) : error LNK2005: _free already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(dbgheap.obj) : error LNK2005: __msize already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount already defined
in msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(crt0dat.obj) : error LNK2005: _exit already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(crt0dat.obj) : error LNK2005: __exit already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(crt0dat.obj) : error LNK2005: __cexit already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(crt0dat.obj) : error LNK2005: __amsg_exit already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(crt0dat.obj) : error LNK2005: __initterm_e already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(lconv.obj) : error LNK2005: _localeconv already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(mlock.obj) : error LNK2005: __lock already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(mlock.obj) : error LNK2005: __unlock already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook already defined
in msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in
msvcrtd.lib(cinitexe.obj)
2>libcmtd.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in
msvcrtd.lib(cinitexe.obj)
2>libcmtd.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in
msvcrtd.lib(cinitexe.obj)
2>libcmtd.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in
msvcrtd.lib(cinitexe.obj)
2>libcmtd.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)"
(?terminate@@YAXXZ) already defined in msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined
in msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(atox.obj) : error LNK2005: _atoi already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(dosmap.obj) : error LNK2005: __errno already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(errmode.obj) : error LNK2005: ___set_app_type already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(getenv.obj) : error LNK2005: _getenv_s already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(strtol.obj) : error LNK2005: _strtol already defined in
msvcrtd.lib(MSVCR80D.dll)
2>libcmtd.lib(strtol.obj) : error LNK2005: _strtoul already defined in
msvcrtd.lib(MSVCR80D.dll)
2>LINK : warning LNK4098: defaultlib 'msvcrtd.lib' conflicts with use of other
libs; use /NODEFAULTLIB:library
The DLL run-time is still the default library, which is why there are
conflicts. Take a look at the settings for the Xerces-C sample
applications for the static configurations.
Dave