detect_mismatch

Задает запись в объекте.Компоновщик проверяет эти записи для потенциальных рассогласований.

#pragma detect_mismatch( "name", "value"))

Заметки

При связывании проекта компоновщик выдает a LNK2038 ошибка, если проект содержит 2 объектов, имеющих одинаковые name но каждое из которых имеет разные value.Используйте данную прагму, чтобы предотвратить несогласованные объектные файлы из связывания.

И имя и значение строковые литералы и подчиняются правилам для строковых литералов по отношению к объединению и escape-символ.Они чувствительны к регистру и не могут содержать запятые, знак равенства, кавычки или 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.

См. также

Ссылки

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