[VC++ 6] mysql.h UND afxwin.h inkluden?

ManicMarble

Erfahrenes Mitglied
Hallo und guten Morgen.
So lange ich dieses C-DLL-DB-Zugriff-auf MySQL-für-Toolbook-Projekt am Hals habe (hey: dafür bräuchte ich auch noch ein schickes Akronym!), so lange werde ich euch hier wohl öfter nerven müssen. Kaum habe ich das mit den Strings (siehe hier) mal für später aufgeschoben, hänge ich schon wieder am nächsten Problem fest:

Um die mysql.h zu inkludieren, muss offensichtlich vorher die windows.h inkludiert sein. Da ich aber gerne mit CStrings arbeiten würde, muss auch noch die afxwin.h (oder afx.h) eingebunden werden.
Wenn ich das tue, meldet der Compiler: "WINDOWS.H already included. MFC apps must not #include <windows.h>".
Lass ich die windows.h aber weg, krieg ich eine ganze Latte an Fehlern, alle mit Hinweis auf die mysql_com.h.
Lass ich die afxwin.h weg, dann klappt alles, nur kann ich ja dann die MFC nicht verwenden. Das will ich aber unbedingt.

Und jetzt?

Martin

PS: Ja, ich habe gegoogelt. Ja ich habe hier andere Beiträge zum Thema C++ und MySQL gefunden. Nein, nichts davon hilft mir weiter.
 
moin


Also braucht die mysql_com.h auch die windows.h.

Hast du die windows.h schonmal direkt in die mysql_com.h inkludiert?


mfg
umbrasaxum
 
Das hab' ich mich bisher nicht getraut, die mysql_com.h gehört zur von MySQL bereitgestellten C-API, da möchte ich nicht so gerne drin rumpfuschen (Update-Fähigkeit und so).
Das Experiment kann ich aber trotzdem mal machen...
 
So, hab's probiert. Geht nicht. Das heißt: Es geht schon, wenn ich die windows.h innerhalb der mysql.h inkludiere, wenn ich sie innerhalb der mysql_com.h einbaue kommt die gleiche Latte an Fehlern die auch kommt, wenn die windows.h fehlt.
Aber egal wo die windows.h eingebaut wird, die afxwin.h lässt sich in allen Fällen nicht inkludieren.

Hier die Fehler die kommen, wenn windows.h fehlt:
Code:
...\include\mysql_com.h(155) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'fd'
...\include\mysql_com.h(155) : error C2501: 'SOCKET' : Fehlende Speicherklasse oder Typbezeichner
...\include\mysql_com.h(155) : error C2501: 'fd' : Fehlende Speicherklasse oder Typbezeichner
...\include\mysql_com.h(299) : error C2065: 'SOCKET' : nichtdeklarierter Bezeichner
...\include\mysql_com.h(299) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 's'
...\include\mysql_com.h(300) : error C2059: Syntaxfehler : ')'
 
moin


Für SOCKET braucht man winsock2.h und die ws_32.lib

Wo hast du denn das mysql Zeugs her?


mfg
umbrasaxum
 
Zurück