私はこの問題を抱えている人々の他の例を見つけましたが、彼らの解決策には運がありませんでした。ブーストスレッドとバインドも使用する静的ライブラリでstd::coutを使用しようとしています。使用せずstd::cout
にメインプログラムと正常にコンパイルおよびリンクする場合でも、ライブラリをコンパイルしてコンパイルする場合は問題ありませんが、静的ライブラリを使用するメインプログラムをコンパイルしてリンクすると、次のようなものが大量に発生します。 :
2> LIBCMT.lib(crt0init.obj):エラーLNK2005:___xi_zはMSVCRTD.lib(cinitexe.obj)ですでに定義されています 2> LIBCMT.lib(crt0init.obj):エラーLNK2005:___xc_aはMSVCRTD.lib(cinitexe.obj)ですでに定義されています 2> LIBCMT.lib(crt0init.obj):エラーLNK2005:___xc_zはMSVCRTD.lib(cinitexe.obj)ですでに定義されています 2> LIBCMT.lib(mlock.obj):エラーLNK2005:__ unlockはMSVCRTD.lib(MSVCR100D.dll)で既に定義されています 2> LIBCMT.lib(mlock.obj):エラーLNK2005:__lockはMSVCRTD.lib(MSVCR100D.dll)で既に定義されています 2> LIBCMT.lib(winxfltr.obj):エラーLNK2005:__XcptFilterはMSVCRTD.lib(MSVCR100D.dll)で既に定義されています 2> LIBCMT.lib(crt0.obj):エラーLNK2005:_mainCRTStartupはMSVCRTD.lib(crtexe.obj)ですでに定義されています
等...
リンカの設定にアクセスして、エラー出力にリストされている競合するライブラリの使用を停止しようとしましたが、正しく取得できません。1つのライブラリの使用を停止するように指示すると、問題は解決する可能性がありますが、不足している外部シンボルがいくつか表示されます。問題が発生していたライブラリを切り替えますが、まだいくつかの「定義済み」が表示されます。これを修正するために私ができることの手がかりはありますか?「log」などと呼ばれる別のクラスを作成し、メインの.exeからアクセスする必要があります(文字列ライブラリを使用するため、問題が発生する可能性がありますが、まだ試していません)。助けてくれてありがとう。