detect_mismatch
Coloca um registro em um objeto. O vinculador verifica possíveis incompatibilidades nesses registros.
#pragma detect_mismatch( "name", "value"))
Comentários
Ao vincular o projeto, o vinculador lança um erro LNK2038 se o projeto contiver dois objetos que tenham o mesmo name mas dois valuediferentes. Use este pragma para impedir que os arquivos de objeto inconsistentes sejam vinculados.
O nome e o valor são literais de cadeia de caracteres e obedecem às regras de literais de cadeia de caracteres em relação aos caracteres de escape e a concatenação. Eles têm diferenciação de maiúsculas e minúsculas e não podem conter vírgulas, sinais de igual, aspas ou o caractere null.
Exemplo
Este exemplo cria dois arquivos que têm números de versão diferentes para o mesmo rótulo da versão.
// 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")
Se você criar ambos os arquivos usando a linha de comando cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp, receberá o erro LNK2038.