Ich habe verschiedene Präprozessor Variablen, die den gleichen Namen in verschiedenen Bibliotheken haben.Vermeiden Sie die Neudefinition Preprozessor Variable
Um Konflikte zu vermeiden, was ich tue, ist (im Beispiel gibt es nur 1 widersprüchliche Variable und 1-Header der Einfachheit halber enthalten):
#ifdef VAR
#define TEMPVAR VAR
#undef VAR
#endif
#include "conflictingheader.hh"
#ifdef VAR
#undef VAR
#endif
#ifdef TEMPVAR
#define VAR TEMPVAR
#undef TEMPVAR
#endif
Gibt es eine automatische Art und Weise alle speichern die widersprüchliche Variablen, Undefiniert sie und stellen sie später wieder her?
Oder ist es möglich, ein Makro zu definieren, um diese Operationen auszuführen?
Es ist möglich, Ihre Präprozessor-Elemente so zu benennen, dass andere Module nicht darauf treten (per Konvention, nicht durchgesetzt). Ich glaube, was du verlangst, ist nicht möglich. – mah