detect_mismatch
Помещает запись в объект. Компоновщик проверяет эти записи на предмет наличия потенциальных несоответствий.
#pragma detect_mismatch( "name", "value"))
Заметки
При компоновке проекта компоновщик создает ошибку LNK2038, если проект содержит 2 объекта с одинаковыми именами name, но разными значениями value. Используйте эту директиву #pragma для предотвращения компоновки несогласованных объектных файлов.
Имя и значение являются строковыми литералами и подчиняются правилам для строковых литералов в отношении escape-символов и объединения. В них учитывается регистр, и они не могут содержать запятую, знак равенства, кавычки или символ null.
Пример
В этом примере создаются два файла, имеющие разные номера версий для одной метки версии.
// 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.