PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mySQL und Windows



mehlvogel
31-01-2003, 13:22
So, hab mich aufgerafft mal wieder ein wenig C++ zu programmieren. Wollte als erstes ne kleine Konsole für mySQL unter Windows zu schreiben. Hab ich mir gedacht - inkludierst du am besten die mysql.h von der Datenbank die du installiert hast. Gesagt getan:



#include "J:\usr\local\mysql\include\mysql.h"


Übers Netzlaufwekr ist das die mysql.h von meiner MySQL DB auf meinem Debian System. So das Programm macht noch gar nichts ausser diese Datei zu inkludieren. Wenn ich das (probehalber) kompiliere (g++ 2.94) erhalte ich folgende Meldung:



118 J:\usr\local\mysql\include\mysql_com.h
syntax error before `;'


Unter Windows wohlgemerkt. Kompilier ich den ganzen Kram unter Linux macht er das ohne weitere Beschwerde. Muss ich mir die Windows Distribution von mySQL nochmal runterladen um damit programmieren zu können, oder was kann ich sonst noch machen?

ReSeT
31-01-2003, 13:55
Hi,

ich gehe mal davon aus, daß Du den für Linux bestimmten header nicht ohne weiteres einbinden kannst, unter anderem auch, weil möglicherweise Referenzen auf externe Libs nicht vorhanden sind.

Also am besten das Development-Kit für win herunterladen und installieren.

GreetZ

ReSeT

mehlvogel
31-01-2003, 14:48
Nein es klappt immer noch net. Hab auch das Gefühl das die mysql.h etc diesselben sind - mal die Snipplets:

mysql_com.h - Zeile 118:


typedef struct st_net {
Vio* vio;
my_socket fd; /* For Perl DBI/dbd */
int fcntl;


mysql.h


#ifndef my_socket_defined
#ifdef __WIN__
#define my_socket SOCKET
#else
typedef int my_socket;
#endif
#endif


damit scheint er net klarzukommen, aber was tun - oder muss ich nochmal was anderes inkludieren?

ReSeT
31-01-2003, 17:37
Also ich vermute schon fast, daß der Fehler aus einem Header kommt, der vor der mysql.h eingebunden wird. Gibt es Header, die du davor noch einbindest?

JoelH
31-01-2003, 21:47
also es wäre mir neu dass Windows eine Linuxpartition lesen kann, einfach so, oder ist dein /usr Verzeichnis im FAT/NTFS Format ? Eher nicht, oder ?

mehlvogel
01-02-2003, 00:44
@joeh: Samba ;) - damit geht das ganz gut (ist nur ein privates Netzwerk -deshalb kann ich lesend überall zugriefen)

@reset: Nur die Standardheader <iostream> <strings> und <stdio.h>

Unter Linux mit g++ gehts ohne Probleme...