Используя libcurl с chilkat получаю ошибки
Я использую chilkat и libcurl в одном проекте, когда я строю проект с
Runtime Library => Многопоточная DLL (/MD)
тогда я получаю эти ошибки и предупреждения:
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
и когда строить с
Runtime Library => Многопоточный (/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)
...
2 ответа
Chilkat предлагает библиотеки "Multithread DLL" и "Multithread" (т.е. статические). Убедитесь, что вы связываетесь с ChilkatRelDll.lib вместо ChilkatRel.lib
Эта ошибка произошла из-за ссылки ChilkatRel.lib в многопоточном DLL Runtime Project, которая встречается в одном и том же файле lib более одного раза, что происходило с несколькими определениями функции. эти символы присутствуют в libcmt.lib
Вы можете решить эту проблему, используя Runtime Library в качестве многопоточной DLL (/MD) и добавив "libcmt.lib" в поле "Ignore Specific Library", не решите эту проблему.
Chilkat предлагает библиотеки "Multithread DLL" и "Multithread" (т.е. статические). Убедитесь, что вы связываетесь с ChilkatRelDll.lib вместо ChilkatRel.lib