Bonjour bonjour
je suis prêt à m'immoler par le feu s'il le faut... accepteriez vous de m'expliquer tout en douceur ce qu'il faut faire pour que ça marche?
J'ai bien regardé autour de moi sur ce forum et même ailleurs mais ce qui cionce c'est la mise en place de l'environnement je pense...
Je suis un bon gros débutant sous linux (fedora core 3 pour les intimes) et l'on m'a dit qu'il fallait installer des tas de librairies pour faire foncionner du mysql avec du c++ (je débute d'ailleurs aussi avec ces deux choses... dur!)
en vrac j'ai exploité en bonne et due forme des fichiers rpm (mysql++, mysql_shared, myclient etc...) puis j'ai essayé de mettre en place en petite connexion sur une base de données existante, à laquelle on arrive très bien à accéder en mode console disons... mais il y a tout de même un bon paquet d'erreurs qui stipulent que toutes les fonctions de base (mysql_real_connect par exemple ) sont plus qu'inconnues au bataillon...
Je m'interroge... ne faut il pas en plus des fichiers .h des .c qui explicitent les dites fonctions?
je place comme il semble d'usage le code qui devrait fonctionner - bordel à culs
et je vous remercie en vous embrassant sur les tétés - d'usage aussi ça ?
Code :
- #include <stdio>
- #include <stdlib>
- #include <mysql++>
- void connexion_db (MYSQL * conn_db) {
- mysql_init(conn_db);
- if (!mysql_real_connect(conn_db,"127.0.0.1","root","root",0,NULL,0)){
- fprintf(stderr,"petite erreur dans la connexion : %s\n",mysql_error(conn_db));
- exit(0);
- }
- }
|
Quand je tape la commande g++ -g -o essai essai.cpp dans le répertoire où se trouve le dit essai.cpp les erreurs pleuvent jusqu'à plus soif du style :
/usr/lib/gcc/i386-redhat-linux/3.4.2/../../../crt1.o(.text+0x18): in function '_start':
: undefined reference to 'main'
/tmp/ccW0fYLt.o(.text+0xd): In function 'db_connect(st_mysql*)':
/home/camille/essai_sql/essai.cpp:7: undefined reference to 'mysql_init'
etc..
merci encore