Probleme de link !!!

NeeKotine Messages postés 2 Date d'inscription mardi 9 avril 2002 Statut Membre Dernière intervention 14 avril 2002 - 12 avril 2002 à 20:47
jsonor Messages postés 49 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 5 septembre 2006 - 1 nov. 2003 à 21:55
Salut !

je cherche a me connecter à une base MySQL via un petit programme en c dont voici le source :

# include <stdio.h>
#if defined(_WIN32) || defined(_WIN64)
#include <windows.h>
#endif
# include <mysql.h>

# define host NULL
# define user NULL
# define pwd NULL
# define bdd NULL

MYSQL *pointconn;

int main (int argc, char *argv[])
{
pointconn = mysql_init (NULL);

mysql_real_connect (pointconn, host, user, pwd, bdd, 0, NULL,

0);

mysql_query (pointconn, "select * from test");

printf ("réussite du select : %lu lignes affectées\n",

(unsigned long) mysql_affected_rows (pointconn));

mysql_close (pointconn);
exit (0);
return (0);
}

le problème c'est que ca compile bien mais je n'arrive pas à linker :

ni sous windows avec Visual 5 (j'ai pourtant rajouter mysqlclient.lib dans projects > settings > link....) là il me fait des "unresolved external symbol..." et des trucs du genre __alloc_osfhnd already defined in LIBCD.lib(osfinfo.obj)) y'en a plein....

ni sous linux (Mandrake8.0) ou je compile bien mais dès que je link du

genre:

$ gcc -o monprog monprog.o -L/usr/lib/mysql -lmysclient

et ben il me trouve pas lmysclient alors que j'ai bien un lmysclient.a dans /usr/lib/mysql

ca doit surement etre un truc tout bête mais j'ai pas trouvé l'info et

je vais devenir fou....

merci de me faire avancer dans mon apprentissage de la prog !!

4 réponses

NeeKotine Messages postés 2 Date d'inscription mardi 9 avril 2002 Statut Membre Dernière intervention 14 avril 2002
14 avril 2002 à 21:50
Bon j'ai trouvé la solution pour ceusx que ca interesse...

Sous linux, la ligne pour linker doit etre:

$ gcc -o monprog monprog.o -L/usr/lib/mysql -lmysqlclient -lz

il faudra donc s'assurer d'avoir :
/usr/lib/mysqlclient/libmysqlclient.a
/usr/lib/zlib.a (dispo dans la zlib)

Sous W2000 par contre je lutte encore
mes erreurs quand je link sont :

--------------------Configuration: tele - Win32 Debug--------------------
Linking...
tele.obj : error LNK2001: unresolved external symbol _mysql_close@4
tele.obj : error LNK2001: unresolved external symbol _mysql_affected_rows@4
tele.obj : error LNK2001: unresolved external symbol _mysql_query@8
tele.obj : error LNK2001: unresolved external symbol _mysql_real_connect@32
tele.obj : error LNK2001: unresolved external symbol _mysql_init@4
Debug/tele.exe : fatal error LNK1120: 5 unresolved externals
Error executing link.exe.

tele.exe - 6 error(s), 0 warning(s)
A bon entendeur....
0
Croqmort Messages postés 95 Date d'inscription mercredi 5 décembre 2001 Statut Membre Dernière intervention 27 juin 2006
16 avril 2002 à 10:50
peut etre n'as tu pas inclu la bilbliotheque de fonction mysql dans ton projet, pour cela va dans :
projet->settings->link
et rajoute la librairie de fonction mysql dans le champ de texte Object/librairy modules
0
loulouklm Messages postés 10 Date d'inscription dimanche 17 novembre 2002 Statut Membre Dernière intervention 29 juillet 2008
15 mai 2003 à 15:40
Comment as tu fait pour que mysql.h fonctionne ?

Je sais pas ou le trouver, ou le mettre.
J'ai bien un /usr/lib/libmysqlclient.so....

Linux....... Dur dur.

Merci de votre aide.

Loup
0
jsonor Messages postés 49 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 5 septembre 2006
1 nov. 2003 à 21:55
il faut installer les librairies de développement de mysql (le package doit être libmysql-devel ou un truc dans le genre)
0
Rejoignez-nous