C et mySQL

Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004 - 21 sept. 2004 à 20:56
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 22 sept. 2004 à 13:08
Bonsoir,

Désolé pour le titre bateau, je sais qu'il apparait souvent, mais j'ai fait une recherche sur plusieurs pages et je n'ai pas trouvé le thread adéquat donc... me voila

Je vais me tirer une balle !

Ce petit programme pour tester :

#include <mysql.h>
#include <stdio.h>

static MYSQL mydb;

int main(void)
{
if(!mysql_connect(&mydb, "localhost", "root", ""))
{
printf("mysql connection error");
exit(1);
}
mysql_close(&mydb);
return 0;
}

Voic ma ligne de compilation :
gcc -o demo demo.c -Ic:\mysql\include -Lc:\mysql\lib\debug -lmysqlclient

réponse du compilateur :
gcc.exe: mysqlclient: No such file or directory (ENOENT)

Il ne trouve pas la librairie et je ne sais pas pourquoi, ca devrait marcher pourtant non ? Avec Devcpp, j'ai beau ajouter les dossiers contenant les header et le lib au compilateur, c'est pareil.

Toute aide est bienvenue, merci.

Et mon prof je vais vraiment le buter, il comprend rien mais RIEN ! Je vous raconterai plus tard si vous voulez...

Merci d'avance de toute facon

a+

19 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
21 sept. 2004 à 21:54
ya quoi dans c:\mysql\lib\debug ?
0
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
21 sept. 2004 à 22:47
il y a mysqlclient.lib
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
21 sept. 2004 à 22:53
utilise le package pour gcc, les .lib c'est pour visual c++
0
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
21 sept. 2004 à 23:04
j'utilise ce qui est distribué avec mysql. d'ailleurs sur leur site, cette lib est utilisée avec gcc.

tu peux me donner une adresse du package pour gcc ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
21 sept. 2004 à 23:15
du neuf :

j'ai toujours des erreurs, mais au moins la compilation se lance (c'est déjà ça) maintenant j'ai des problèmes avec mysql.h : parse error partout ! avec my_global.h aussi

grrr

merci de tes réponses en tout cas.

sympa ;)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
21 sept. 2004 à 23:17
ben va sur sourceforge, mysql c'est libre

ce qui est sur c'est que le .lib c'est vc++, sous gcc c'est .a,
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
21 sept. 2004 à 23:20
"j'ai toujours des erreurs, mais au moins la compilation se lance (c'est déjà ça) maintenant j'ai des problèmes avec mysql.h : parse error partout ! avec my_global.h aussi"

tu as bien le package gcc ?
0
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
21 sept. 2004 à 23:23
je suis sous win2000, j'utilise djgpp. c'est pareil. effectivement les librairies sont en *.a

est ce que ca change fondamentalement les choses ?

sinon, je vais sur sf de suite
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
21 sept. 2004 à 23:28
oui c'est fondamentale, le compilateur ne pourras pas linker avec du code compilé par un autre
0
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
21 sept. 2004 à 23:31
je ne crois pas qu'il y a une différence. je vois sur un forum de mysql que qqun a la meme config que moi : w2k et gcc qui utilise les *.lib de la distrib mysql

donc...

d'ailleurs ce n'est pas avec la lib que j'ai un probleme mais avec les headers
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
21 sept. 2004 à 23:35
ca me parais trop specifique au compilateur

c'est quoi les erreurs dans les header ?
0
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
21 sept. 2004 à 23:47
je suis en train de lire un thread d'un forum mysql, je te tiens au courant dans les minutes

merci a toi ;)
0
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
21 sept. 2004 à 23:55
rahhh non !!

les erreurs dans les headers c'est "parse error", "redefinition type", etc... j'ai aussi des parse error dans mon code source a moi, mais je n'en vois aucun.
0
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
21 sept. 2004 à 23:56
il y aurait moyen d'utiliser libmysql.dll ? avec devcpp ?
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 sept. 2004 à 00:00
c'est quoi par exemple ces "parse error" et "redefinition type" ?
0
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
22 sept. 2004 à 00:03
en vrac :

2 C:\Documents and Settings\Administrator\My Documents\ProjetC\main.c In file included from ../../../../Documents and Settings/Administrator/My Documents/ProjetC/main.c

127 C:\mysql\include\mysql.h parse error before "MEM_ROOT"

127 C:\mysql\include\mysql.h [Warning] no semicolon at end of struct or union

184 C:\mysql\include\mysql.h parse error before "field_alloc"

207 C:\mysql\include\mysql.h parse error before '*' token

297 C:\mysql\include\my_global.h redefinition of `ushort'

et il y a une centaine...

ca doit etre des erreurs dues la mauvaise compil.
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
22 sept. 2004 à 02:17
Pour les parse error j'en sais rien. Pour transformer un .lib en .a, il y a deux possibilités : le programme reimp (marche pas toujours) et dumper les exports de la DLL pour générer un .def qui sera converti en .a, comme çà :

implib.bat
pexports -o %1.dll > %1.def
dlltool --dllname %1.dll --input-def %1.def --output-lib lib%1.a


Usage : implib nom_de_la_dll (sans l'extension !)
0
Panama Beach Messages postés 11 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 22 septembre 2004
22 sept. 2004 à 11:12
merci a tous pour vos réponses.

je suis actuellement au cours, en salle info et j'utilise borland c++ 5 dont les librairies sont en *.lib et donc ca fonctionne, tu avais raison.

donc ca compile, ca trouve les headers et les librairies. j'ai maintenant un problème avec l'API elle meme :

je veux initialiser une struct MYSQL

MYSQL mydb;

mydb = mysql_init(&mydb);

et l'erreur est la suivante : cannot convert 'st_mysql *' to 'st_mysql'

le prototype de la fonction est le suivant : MYSQL *mysql_init(MYSQL *mysql)

une idée ?

en tout cas un grand merci, j'ai au moins une erreur concrête !! :)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 sept. 2004 à 13:08
MYSQL *mydb;

mydb = mysql_init(mydb);

et oubli pas de faire un close qqchose
0
Rejoignez-nous