トップ回答者
Visual Studio 2012でのリンクエラー

質問
-
現在、Visual Sudio 2010のプロジェクトをVisual Sudio 2012に自動で変換し、
ビルドしたところ下記のリンクエーラーが出てしまうようになってしまいました。
DLL構成のプジェクトにスタティックライブラリをリンクしようとして
エラーになっているようですが、これを回避する方法はありますでしょうか?
■エラー 内容
error LNK2038: 'RuntimeLibrary' の不一致が検出されました。
値 'MTd_StaticDebug' が MDd_DynamicDebug の値 'XXX.obj' と一致しません。
宜しくお願いします。
回答
-
こんにちは、A567W さん
フォーラムオペレータの佐伯 玲 です。とっちゃん さんの情報の方はご確認頂けたでしょうか?
また、以下のライブラリの情報も参考になるかもしれません。Visual C++ での互換性に影響する変更点
http://msdn.microsoft.com/ja-jp/library/bb531344.aspx以下、日本語翻訳側の中ほどからの抜粋です。
------------------------------------------------------
ITERATOR_DEBUG_LEVEL の不一致の Visual C++ 2010で実装された検出に加えて、
Visual C++ in Visual Studio 2012 は RuntimeLibrary の不一致を検出します。
これらは、コンパイラ オプション /MT (静的リリース)、/MTd (静的デバッグ)、/MD (動的リリース)、
および /MDd (動的デバッグ) が混在する場合に発生します。
------------------------------------------------------
今後ともMSDNフォーラムを宜しくお願い致します。
__________________________
日本マイクロソフト株式会社 フォーラム オペレーター 佐伯 玲 -
コンパイルオプションが一部変更されているような感じに見受けられます。でもヘルプリファレンスにLNK2038の記述がありませんね。。。
一度、中間ファイル出力先フォルダ(通常プロジェクトのフォルダのDebug)を全部削除してからビルドしてみてはいかがでしょうか?<単純なリビルドではなく
わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
すべての返信
-
コンパイルオプションが一部変更されているような感じに見受けられます。でもヘルプリファレンスにLNK2038の記述がありませんね。。。
一度、中間ファイル出力先フォルダ(通常プロジェクトのフォルダのDebug)を全部削除してからビルドしてみてはいかがでしょうか?<単純なリビルドではなく
わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
-
こんにちは、A567W さん
フォーラムオペレータの佐伯 玲 です。とっちゃん さんの情報の方はご確認頂けたでしょうか?
また、以下のライブラリの情報も参考になるかもしれません。Visual C++ での互換性に影響する変更点
http://msdn.microsoft.com/ja-jp/library/bb531344.aspx以下、日本語翻訳側の中ほどからの抜粋です。
------------------------------------------------------
ITERATOR_DEBUG_LEVEL の不一致の Visual C++ 2010で実装された検出に加えて、
Visual C++ in Visual Studio 2012 は RuntimeLibrary の不一致を検出します。
これらは、コンパイラ オプション /MT (静的リリース)、/MTd (静的デバッグ)、/MD (動的リリース)、
および /MDd (動的デバッグ) が混在する場合に発生します。
------------------------------------------------------
今後ともMSDNフォーラムを宜しくお願い致します。
__________________________
日本マイクロソフト株式会社 フォーラム オペレーター 佐伯 玲