detect_mismatch pragma

Place un enregistrement dans un objet. L'éditeur de liens vérifie les éventuelles incompatibilités entre ces enregistrements.

Syntaxe

#pragma detect_mismatch(« name » , « value »)

Notes

Lorsque vous liez le projet, l’éditeur de liens lève une erreur LNK2038 si le projet contient deux objets portant le même nom, mais chacun a une valeur différente. Utilisez cette option pragma pour empêcher la liaison de fichiers objet incohérents.

Le nom et la valeur sont des littéraux de chaîne et obéissent aux règles des littéraux de chaîne en ce qui concerne les caractères d’échappement et la concaténation. Ils respectent la casse et ne peuvent pas contenir une virgule, un signe égal, des guillemets ou le caractère Null .

Exemple

Cet exemple crée deux fichiers qui ont des numéros de version différents pour la même étiquette de version.

// 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")

Si vous compilez ces deux fichiers à l’aide de la ligne cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cppde commande, vous recevrez l’erreur LNK2038.

Voir aussi

Directives pragma et les __pragma_Pragma mot clé