エラーLNK2038は:値「MDd_DynamicDebug」一致しない「MD_DynamicRelease」エラーLNK2038:ミスマッチが「ランタイムライブラリ」を検出した不一致が「ランタイムライブラリ」検出:値「MDd_DynamicDebug」一致しない「MTd_StaticDebug」エラーLNK2038:検出ミスマッチの「_ITERATOR_DEBUG_LEVEL」へ:値「0」2」の値と一致していません

 

1.エラーと原因分析

それともヒント:エラーLNK2038:ミスマッチの検出「_ITERATOR_DEBUG_LEVELは」:値が「0」「2値と一致していません。

これらの問題の根本的な原因は、あなたがdubugとlibのライブラリのデバッグやリリースバージョンを参照または準拠していないプロジェクトのバージョンをリリースするということです。ファイルのバージョンを参照するときにそのような問題は、あなたが合うように注意を払うようにしたいです。

 

2.解決

この問題は、解決するために、様々な状況に分割する必要があります。

2.1の設定ランタイム

ランタイムの設定には、いくつかのプロジェクトと同じではありませんか?

この回避策では:

アイテムのプロパティ - >構成プロパティ - > C / C ++ - >コード生成 - >ランタイム

我々は同様に、ライン上に設定されている  マルチスレッドデバッグ(/ MD)

 

次のリリースでは、ライブラリのバージョンを合わせるには問題ありません。しかし、コンパイラの特定のエラーLNK2038:ミスマッチの検出「_ITERATOR_DEBUG_LEVEL」:値「0」は「2」を値と一致していません

理由:私の次のリリースは、このプロジェクトは、「デバッグマルチスレッドDLL(/ MDD)」に設定し、ライブラリを実行するように設定されています。これは、デバッグの下に設定する必要があります設定である、あなたは、「マルチスレッドDLL(/ MD)」次のリリースを設定する必要があります。

 

 

2.2 LIBリンカ入力デバッグバージョンのリリースバージョンを変更します

同様に、が提案されている、ミスマッチの検出「_ITERATOR_DEBUG_LEVEL」:値が「2」の値と一致しません「0」

 上記の現象のヒント現在のプロジェクトは、リリースバージョンである、ライブラリ・ファイル参照のデバッグバージョンは、ちょうどその上に現在のリリースモードデバッグモードを変更する必要があります。

 

オープンソリューション - 「プロパティ - 」リンカ - 「入力 - 」libのファイル名のリリースバージョンで参照追加の依存関係。

例としては、次のとおりです:

   

 

 

参考記事

エラーLNK2038が:不一致は、「ランタイムライブラリ」が検出:値「MDd_DynamicDebug」一致しない「MTd_StaticDebug」

 

おすすめ

転載: www.cnblogs.com/arxive/p/11220854.html