Zum Inhalt springen

MySQL C-API compile Probleme seit Update auf Ubuntu 11.10

Heute musste ich um einen Fehler ausschließen zu können ein Programm unter Ubuntu 11.10 Compilieren, das Ding verwendet die MySQL C-API recht häufig und beim ersten Versuch habe ich nur jede Menge Fehlermeldungen erhalten:

/tmp/ccx4v7xL.o: In function `checkAuftrag()‘:
auftrag_details1.c:(.text+0x8a): undefined reference to `mysql_query‘
auftrag_details1.c:(.text+0x9c): undefined reference to `mysql_use_result‘
auftrag_details1.c:(.text+0xad): undefined reference to `mysql_fetch_row‘
auftrag_details1.c:(.text+0x302): undefined reference to `mysql_free_result‘
auftrag_details1.c:(.text+0x3eb): undefined reference to `mysql_error‘

Nachdem ich alles Mögliche überprüft habe – Header Dateien installiert, Pfade korrekt gesetzt usw. – habe ich eine Lösung für das Problem gefunden!

Der ursprüngliche Compile Aufruf lautete wie folgt:

g++ -O2 -Wall -lmysqlclient -L/usr/lib/mysql -fPIC -DHAVE_CONFIG_H -I. -I/usr/local/include -I/usr/include/mysql -o auftrag_details1.cgi auftrag_details1.c

Und lieferte die Fehlermeldung von oben, wenn man jetzt einfach nur den Teil mit „-lmysqlclient“ raus nimmt und ganz ans Ende setzt, dann läuft der Compile wieder wie am Schnürchen!

g++ -O2 -Wall -L/usr/lib/mysql -fPIC -DHAVE_CONFIG_H -I. -I/usr/local/include -I/usr/include/mysql -o auftrag_details1.cgi auftrag_details1.c -lmysqlclient

Und schon ist das Programm fertig compiliert…!

Schlagwörter:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert