PDA

Afficher la version complète : Problème d'utilisation de mysql++



Burn2
29/01/2008, 11h33
Bonjour, à tous et toutes, j'ai un projet tut à réaliser dans le cadre de l'iut, nous avons donc décidé de nous tourner vers mysql++ pour se connecter à la bd et faire nos insertions.

Sauf que donc j'ai installé la lib, avec ./configure, make et make install, mais si j'inclue <mysqlpp.h> ou <mysql++.h> ou sans les .h ou autre. Bah ça met que c'est inconu :/


Quelqu'un pourrait me dire comment linker tout ça? Ou alors le must, comment linker vers la lib.so que je mettrais dans le dossier comme ça si y a pas mysql++ d'installé ben ça marche quand même (ça serait l'idéal).


Merci d'avance, parce que là je trouve pas.

J'avais regardé pour qt, ou là je savais faire sauf que bien sur, l'environnement de dev de l'iut est trop vieux, qt3, j'ai qt4 etc, bref!

Ou alors, sur mon serveur perso, comment partager une bd sous mysql pour qu'elle soit dispo par le net, parce que là j'utiliserais qt comme ça??

Heero_Yuy
29/01/2008, 14h29
Salux Burn2,

Je ne connais pas mySQL++, mais voici ce que j'ai trouvé :

<div class='quotetop'>Citation </div>
g++ simple1.cpp -o simple1 ? Or: It builds, but it won't link! Why?

To build any program using MySQL++, at minimum you must link to the MySQL++ library and also to the MySQL C API library that MySQL++ is built upon. The MySQL++ library is libmysqlpp.so on Unixy systems, and mysqlpp.lib on Windows. The MySQL C API library is either libmysqlclient{_r}.{a,so} on Unixy systems and libmysql.lib on Windows.[/b]

(source : http://tangentsoft.net/mysql++/ (http://tangentsoft.net/mysql++/))

Maintenant, pour linker vers une bibliothèque précise, il faut utiliser l'option -llibrary lors de la compilation (faut remplacer library par la bibliothèque adéquate)

(source : man g++ (http://www.astro.unibonn.de/~webstw/cm/gnu/gcc/g++.1.html))

Essayes avec :


g++ -lmysql++ xxxxxxxxxx xxxxxxxx

(en prenant soin de remplacer les xxxxxx par les noms de fichiers d'entrée et de sortie adéquats ;) )

Burn2
29/01/2008, 14h45
Oui j'ai tout ce qu'il faut , le mysql client etc. Et j'ai aussi testé en rajoutant le -L, première chose à laquelle j'ai pensé. Mais rien n'y fait. :/ J'ai craqué, je suis passé en qt pour tout rentrer directement dans du code ça sera plus pratique car là je vois comment faire et le qt marche au moins!

Heero_Yuy
29/01/2008, 14h49
OK.

Sinon, pourquoi avoir choisi mySQL++ plutôt que mySQL ?

Burn2
29/01/2008, 17h19
Parce que c'était la lib qui était associée au C++. :D Mais bon avec mysql tout cours ça crouté quand même. Avec le qt, c'est déjà fini, la connection marche. Reste plus qu'on nous valide notre bd afin de faire tout le reste. :) Merci de ton aide.

Pumpkin
29/01/2008, 17h34
En effet il faut utiliser une option pour pouvoir linker les libs.
Avec la lib (paquet) mysqlclient sous Linux, en C c'est : -lmysqlclient

Aussi mysql++ est un wrapper pour l'API C mysql.

Burn2
29/01/2008, 17h38
HUm si ça se trouve c'était ça, mais j'avais cherché partout sur internet, j'avais croisé que des -lmysqlpp . :/