Freigeben über


detect_mismatch

Platziert einen Datensatz in einem Objekt. Der Linker überprüft diese Datensätze auf potenzielle Konflikte.

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

Hinweise

Wenn Sie das Projekt verknüpfen, löst der Linker einen LNK2038-Fehler aus, wenn das Projekt zwei Objekte enthält, die den gleichen name, jedoch einen unterschiedlichen value aufweisen. Verwenden Sie dieses Pragma, um zu verhindern, dass inkonsistente Objektdateien verknüpft werden.

Name und Wert sind Zeichenfolgenliterale und befolgen im Zusammenhang mit Escapezeichen und Verkettungen die Regeln für Zeichenfolgenliterale. Es muss die Groß-/Kleinschreibung beachtet werden. Außerdem können Kommas, Gleichheitszeichen, Anführungszeichen oder das null-Zeichen enthalten sein.

Beispiel

Dieses Beispiel erstellt zwei Dateien, die unterschiedliche Versionsnummern für die gleiche Versionsbezeichnung aufweisen.

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

Wenn Sie beide Dateien kompilieren, indem Sie die Befehlszeile cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp verwenden, erhalten Sie den Fehler LNK2038.

Siehe auch

Referenz

Pragma-Direktiven und das __Pragma-Schlüsselwort