wxWindows und API --> conflicting types for IID
-
Hi,
ich versuche ein Programm mit Zugriff auf eine API zu schreiben. Das ganze, wie im Titel beschrieben, mit wxWindows. Nun wird in eine der Header-Dateien der API allerdings eine struct IID deklariert. Diese scheint es nicht nur in wxWindows bereits zu geben. Denn ich habe versucht das Programm mit der WinAPI zu erstellen, also ohne wxWindows einzubinden, und er störte sich trotzdem an der Deklaration der struct IID.
Deklaration ist wie folgt:typedef struct _IID { ... } IID;
Folgende Fehlermeldungen tauchen bei Kompilierung in meinem Compiler auf (Dev-Cpp):
In file included from main.cpp
conflicting types fortypedef struct _IID IID' previous declaration as
conflicting types for `typedef struct _IID CLSID'Er stört sich, wie ihr sehen könnt also nicht nur an der IID, sondern auch an CLSID. Es werden nun noch mehrere Fehlermeldungen ausgegeben, die allerdings alle auf dem Typ _IID basieren.
Gibt es eine Möglichkeit, das zum Laufen zu bringen, ohne die Deklarationen zu ändern? Denn das hat nicht funktioniert, nachdem ich es in den Header-Dateien der API versucht habe.Die Header-Datei in der dieser Fehler auftritt ist auch keine Header-Datei (zumindest von der Dateiendung her; Endung ist .c). Mit 'extern "C"' hat es allerdings auch nicht funktioniert. Und in der Dokumentation zu der API binden die diese .c Datei genauso ein, wie ich es tue.
Ich wäre für jede Hilfe dankbar.
-
typedef struct _IID { ... } myIID;
So würde es funktionieren! Muß es denn unbedingt IID heißen?
Edit: Das typedef kann man auch weglassen!
-
namen, die mit _ + großbuchstaben beginnen, sind nicht erlaubt (_ + kleinbuchstabe nur nicht im globalen namensbereich) (d.h. sie sind für die implementierung reserviert)