【问题标题】:using libcurl with chilkat getting errors使用带有 chilkat 的 libcurl 得到错误
【发布时间】:2016-02-28 19:24:48
【问题描述】:

当我构建项目时,我在同一个项目中使用 chilkat 和 libcurl

运行时库 => 多线程 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

当使用

构建时

运行时库 => 多线程 (/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)
...

【问题讨论】:

    标签: visual-studio visual-c++ libcurl chilkat vc90


    【解决方案1】:

    Chilkat 提供“多线程 DLL”和“多线程”(即静态)库。确保使用 ChilkatRelDll.lib 而不是 ChilkatRel.lib 链接

    【讨论】:

      【解决方案2】:

      Chilkat 提供“多线程 DLL”和“多线程”(即静态)库。确保使用 ChilkatRelDll.lib 而不是 ChilkatRel.lib 链接

      此错误是由于在多线程 DLL 运行时项目中链接 ChilkatRel.lib 导致多次出现同一个 lib 文件,即出现多个函数定义。这些符号存在于 libcmt.lib 中

      您可以通过将运行时库用作多线程 DLL (/MD) 和 将“libcmt.lib”添加到“忽略特定库”字段并不能解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-08
        • 1970-01-01
        • 1970-01-01
        • 2013-09-04
        • 2018-08-11
        • 1970-01-01
        相关资源
        最近更新 更多