0

プロジェクトをビルドするときに、同じプロジェクトで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)
...
4

2 に答える 2

0

Chilkat は、「マルチスレッド DLL」と「マルチスレッド」(つまり静的) ライブラリの両方を提供します。ChilkatRel.lib ではなく ChilkatRelDll.lib とリンクしていることを確認してください

于 2016-03-01T17:40:26.490 に答える
0

Chilkat は、「マルチスレッド DLL」と「マルチスレッド」(つまり静的) ライブラリの両方を提供します。ChilkatRel.lib ではなく ChilkatRelDll.lib とリンクしていることを確認してください

このエラーは、マルチスレッド DLL ランタイム プロジェクトで ChilkatRel.lib をリンクすると、同じ lib ファイルが複数回発生し、関数の複数の定義が発生したために発生しました。これらのシンボルは libcmt.lib にあります

ランタイム ライブラリをマルチスレッド DLL (/MD) として使用し、「libcmt.lib」を「Ignore Specific Library」フィールドに追加しても、この問題を解決できません。

于 2016-02-29T01:15:28.893 に答える