MySQL Linux et C

Signaler
Messages postés
149
Date d'inscription
mardi 30 septembre 2003
Statut
Membre
Dernière intervention
23 juillet 2009
-
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
Bonjour, je souhaite me connecter à une base MySQL en C++. Pour cela je dispose des fichier .h de Mysql et des fichiers librairie .a et .so. J'ai bien cherché mais mon problème reste le même. Apres compliation avec gcc il me dit que les fonctions mysql_init, mysql_real_connect ne sont pas définies.

Mon code:

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

int main(int argc, char* argv)
{
    MYSQL *conn; //definition de la connexion
   
    // initialisation    if((conn mysql_init(NULL)) NULL)
    {
        printf("Erreur d'initialisation\n");
        return 0;
    }

    // connexion au serveur (ici, en local)
    if(mysql_real_connect(conn,"localhost","big","big","pirad",0,NULL,0)==NULL)
    {
        printf("Erreur de connexion\n");
        return 0;
    }

    // on lance la requête
    //requete(conn);

    // on ferme la connexion au serveur MySQL
    mysql_close(conn);
    printf("hello world");
}

je tape:

gcc -o a.out main.cxx -lmysqlclient

et j'obtient:

/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccAvcaGk.o: In function `main':
/home/fabien/MySQL/main.cxx:9: undefined reference to `_mysql_init'
/home/fabien/MySQL/main.cxx:16: undefined reference to `_mysql_real_connect'
/home/fabien/MySQL/main.cxx:26: undefined reference to `_mysql_close'
collect2: ld returned 1 exit status

Mais fichiers lib sont bien dans /lib et mes fichiers header dans /usr/include/mysql

Si quelqu'un a une idée

1 réponse

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Si tu prend la doc de MySQL tout y est, il y a même des exemples en C pour Windows et Linux.
Fouilles un peu tu devrais trouver de quoi faire.

Shell