detect_mismatch
オブジェクトにレコードを配置します。リンカーは不一致のレコードをチェックします。
#pragma detect_mismatch( "name", "value"))
解説
プロジェクトをリンクするときリンカーはプロジェクトが同じ name がありますがそれぞれに別の value は2 種類のオブジェクトが含まれている場合 LNK2038 のエラーをスローします。リンクから別のオブジェクト ファイルにするにはこのプラグマを使用します。
名前と値の両方がリテラル文字列ではエスケープ文字と連結に対してリテラル文字列の規則に従います。これらは大文字と小文字を区別しコンマは引用符または null の文字を含めることはできません。
使用例
この例では同じバージョンのラベルの異なるバージョン番号を持つ 2 個のファイルを作成します。
// pragma_directive_detect_mismatch_a.cpp
#pragma detect_mismatch("myLib_version", "9")
int main ()
{
return 0;
}
// pragma_directive_detect_mismatch_b.cpp
#pragma detect_mismatch("myLib_version", "1")
コマンド ライン cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp では両方のファイルをコンパイルしエラー LNK2038 を受け取ります。