0

ビルドしようとするとリンカー エラーが発生します (たくさんあります...ここにそのようなものがあります)。

error LNK2005: "public: int __cdecl std::ios_base::rdstate(void)const " (?rdstate@ios_base@std@@QEBAHXZ) already defined in msvcprt.lib(MSVCP90.dll)

私はCプロジェクトを持っています:

  • 構成タイプ: 静的ライブラリ (.lib)
  • MFC の使用: 標準の Windows ライブラリを使用する
  • ATL の使用: ATL を使用しない
  • ランタイム ライブラリ: マルチスレッド DLL (/MD)

私はC++プロジェクトを持っています:

  • 構成タイプ: ダイナミック ライブラリ (.dll)
  • MFC の使用: 標準の Windows ライブラリを使用する
  • ATL の使用: ATL への動的リンク
  • ランタイム ライブラリ: マルチスレッド DLL (/MD)

上記の 2 つのプロジェクトに依存する C++/CLI プロジェクトがあります。

  • 構成タイプ: ダイナミック ライブラリ (.dll)
  • MFC の使用: 標準の Windows ライブラリを使用する
  • ATL の使用: ATL への動的リンク
  • ランタイム ライブラリ: マルチスレッド DLL (/MD)
  • 共通言語ランタイム サポート (/clr)
  • これは C プロジェクト .lib にリンクします
  • これには、C++ DLL へのプロジェクト参照があります。

これらは Visual 2010 を使用してビルドされていますが、v3.5 ツールセット (つまり 9.0 を使用) を使用しています。

私が見たほとんどの解決策は、ランタイム ライブラリの設定が同期していないことを示唆しています。ここではそうではありません。それらはすべてマルチスレッド DLL です。これらはすべて Release x64 で構築されています。

これらのプロジェクト設定で何か飛び出すことはありますか? 他に共有できる関連設定はありますか?

4

1 に答える 1