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.

См. также

Директивы Pragma и __pragma_Pragma ключевое слово