Ich verwende MAC OSX und versuchen, einen 'Test' msyql App zu schreiben, die die Verbindung zu einer lokalen Datenbank testet gerade:Warum bekomme ich beim Kompilieren einer einfachen mysql c-Anwendung unter Mac OSX undefinierte Symbole?
#include <my_global.h>
#include <mysql.h>
int main(void)
{
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, "examplemysql");
if(!mysql_real_connect(&mysql, "localhost", "someuser", "somepassword", "sampledb", 0, NULL, 0))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&mysql));
}
}
ich den Befehl kompilieren mit gcc -I/usr/local/mysql/include -L/usr/local/mysql/lib mysql.c
ich die folgenden Fehler
undefinierte Symbole
"_mysql_options", verwiesen von:
_main in cceohP7E.o
"_mysql_real_connect", verwiesen von:
_main in cceohP7E.o
"_mysql_init", verwiesen von:
_main in cceohP7E.o
"_mysql_error", verwiesen von:
_main in cceohP7E.o
ld: Symbol (e) nicht
collect2 gefunden: ld returned 1 exit status
ich bin kein C/Unix-Experte, aber ich will lernen. Ich weiß, dass hier eine 64-Bit-Architektur läuft. Kann das ein Problem sein? Lass mich wissen, was ich falsch mache.
Danke.
Ihr Linker findet Ihre Include-Header nicht, oder diese sind nicht die richtigen Header.Sind Sie sicher, dass diese Funktionen, die Sie aufrufen, in diesen Headern definiert sind? – Falmarri
Ich suche die Header-Dateien, und nein, ich finde nicht genau die "_mysql_options" usw. Meine Frage ist nun, woher kam diese "_mysql_options"? – EDJ