Search code examples
visual-studiovisual-c++libcurlchilkatvc90

using libcurl with chilkat getting errors


i'm using chilkat and libcurl in same project when i build the project with

Runtime Library => Multi-threaded DLL (/MD)

then i get these errors and warning:

Error   4   error LNK1169: one or more multiply defined symbols found
Error   1   error LNK2005: __invoke_watson already defined in MSVCRT.lib(MSVCR90.dll)
Error   2   error LNK2005: __strdup already defined in LIBCMT.lib(strdup.obj)
Warning 3   warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library

and when build with

Runtime Library => Multi-threaded (/MT)

Error   54  error LNK1169: one or more multiply defined symbols found
Error   44  error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
Error   45  error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
Error   11  error LNK2005: ___iob_func already defined in LIBCMT.lib(_file.obj)
Error   39  error LNK2005: __beginthreadex already defined in LIBCMT.lib(threadex.obj)
Error   47  error LNK2005: __close already defined in LIBCMT.lib(close.obj)
...

Solution

  • Chilkat offers both "Multithread DLL" and "Multithread" (i.e. static) libs. Make sure you link with ChilkatRelDll.lib instead of ChilkatRel.lib

    This error occurred due to linking ChilkatRel.lib in Multithread DLL Runtime Project which occurs same lib file more than one time, which occurred multiple definitions of a function. these symbols are present in libcmt.lib

    You can resolve this problem by using Runtime Library as Multi-threaded DLL (/MD) and Adding "libcmt.lib" to the "Ignore Specific Library" field doesn't get me past this problem.