cs_JuJu
Messages postés10Date d'inscriptionsamedi 10 novembre 2001StatutMembreDernière intervention 7 août 2007
-
27 janv. 2005 à 11:42
mhooreman
Messages postés12Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention28 février 2005
-
28 févr. 2005 à 13:15
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.
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 27 janv. 2005 à 13:55
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..."
mhooreman
Messages postés12Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention28 février 2005 28 févr. 2005 à 13:15
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.