Поделиться через


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.

См. также

Ссылки

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