IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

MySQL problème compilation undefined reference to `mysql_init'


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut MySQL problème compilation undefined reference to `mysql_init'
    Bonjour, je suis un profane dans le C++ et je souhaite faire un petit programme qui puisse géré une BDD .. seulement je me trouve confronté à une difficulté inattendu.. et c'est le fameux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     undefined reference to `mysql_init'
    ma ligne de compile est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ r_toto.cpp -o sortie -I /usr/include/mysql -L /usr/lib/libmysqlclient -L /usr/lib64/mysql
    voici le début de la tentative de programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    #include <mysql.h>
     
    void init_db();
     
    int main(int argc, char *argv[]){
     
            init_db();
            return 0;
    }
     
    void init_db (){
     
            MYSQL *connmysql;
     
            if(mysql_init(connmysql)==NULL){
                    std::cout<<"erreur d'initialisation\n";
            }else {
                    std::cout<<"initialisation reussi\n";
            }
    }
    Comme vous pouvez constater c'est tout bête .. j'ai belle est bien le point *.h dans mes include et le libclientmysql.so y'aurait -il une âme charitable pour m'expliquer ce que j'ai loupé??

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    D'abord, normalement, il n'y a pas d'espace entre les option -I et -L et le dossier que tu veux déclarer.

    La ligne de commande devrait donc être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ r_toto.cpp -o sortie -I/usr/include/mysql -L/usr/lib/libmysqlclient -L/usr/lib64/mysql
    Ensuite, tu définis deux là dossiers pour rechercher les bibliothèque qu'il faut lier à ton projet (/user/lib/libmysqlclient et /user/lib64/mysql), or, je subodore que libmysqlclient est... justement la bibliothèque avec laquelle tu doive faire la liaison.

    Essayes donc plutot quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ r_toto.cpp -o sortie -I/usr/include/mysql -lmysqlclient -L/usr/lib64/mysql
    (un L minuscule, pas besoin de rajouter lib pour lmysqlclient), pour autant que libmysqlclient.a se trouve bel et bien dans le dossier /user/lib64/mysql.

    Si d'aventure, le fichier libmysqlclient.a se trouve, comme la ligne de commande semble l'indiquer dans /user/lib, il y a de fortes chances que ce soit un lien symbolique vers /user/lib64/mysql/libmysqlclient.a .

    Dans ce cas, l'option -L/usr/lib64/mysql devrait être inutile

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    MERCI koala01 !!! en effet c'est du a l'espace dans les commandes ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/09/2011, 21h56
  2. Problème compilation undefined reference to main
    Par Loïc Le Bars dans le forum Fortran
    Réponses: 1
    Dernier message: 30/03/2010, 16h52
  3. problème de compilation : undefined reference to
    Par minou777 dans le forum C++
    Réponses: 5
    Dernier message: 07/09/2009, 18h29
  4. problème de compilation "undefined reference to"
    Par grabriel dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 05/05/2008, 12h08
  5. Erreur compilation "undefined reference to "
    Par ViRouF dans le forum C++
    Réponses: 5
    Dernier message: 02/03/2007, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo