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