J'utilise MAC OSX et essayer d'écrire une application msyql 'test' qui teste simplement la connexion à une base de données locale:Pourquoi est-ce que je continue d'obtenir des symboles non définis lors de la compilation d'une simple application mysql c sur MAC OSX?
#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));
}
}
je compile avec la commande: gcc -I/usr/local/mysql/include -L/usr/local/mysql/lib mysql.c
-je obtenir les erreurs suivantes
symboles non définis
"de _mysql_options", fait référence à partir de:
_main dans cceohP7E.o
"_mysql_real_connect", référencé à partir de:
_main dans cceohP7E.o
"_mysql_init", référencé à partir de:
_main dans cceohP7E.o
"_mysql_error", référencé à partir de:
_main dans cceohP7E.o
ld: symbole (s) non trouvé
collect2: ld retourné 1 état de sortie
Je ne suis pas C/Unix expert, mais je veux apprendre. Je sais que j'ai une architecture 64 bits qui fonctionne ici. Cela peut-il être un problème? Faites-moi savoir ce que je fais mal.
Merci.
Votre éditeur de liens ne trouve pas vos en-têtes d'inclusion, ou ceux qui ne sont pas les bons en-têtes.Êtes-vous sûr que les fonctions que vous appelez sont définies dans ces en-têtes? – Falmarri
Je suis à la recherche dans les fichiers d'en-tête, et non je ne trouve pas exactement le "_mysql_options", etc. Ma question est maintenant, d'où vient ce "_mysql_options"? – EDJ