Bonjour,
J'essaie de programmer une connexion mysql en C afin d'y insérer un enregistrement.
Voici mon code actuel :
========================================================
#include <stdio.h>
#include <stdlib.h>
#include "/usr/include/mysql/mysql.h"
MYSQL *pointconn;
int main (void)
{
pointconn = mysql_init(NULL);
mysql_real_connect(pointconn, "127.0.0.1", "root", "pass", "test", 0, NULL, 0);
Mon problème c'est que lors de la compilation (gcc mysql.c -o prog.bin), il me dit que toutes les fonctions mysql (mysql_init, mysql_query...) sont undefined. Pourtant le fichier /usr/include/mysql/mysql.h existe. J'ai également installé les librairies mysql_devel.
en fait tu dois avoir une fichier "librairie" extension .a qui contient les définitions des fonctions de mySQL et en fait il faut que tu specifies au compilateur (gcc en l'ocurence) que tu veux compiler le programme avec cette libraire !
Bob...
"La chance accorde ses faveur aux esprits avertis..."
Pour info, il y a une différence entre les .a (liaison statique du
style gcc main.o /usr/lib/fichier.a) et .so (liaison dynamique du style
gcc main.o -lfichier (pour /usr/lib/fichier.so)).
Dans le premier cas (déconseillé la plupart du temps), ton exécutable est plus gros et doit etre recompilé à chaque mise à jour.