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

Bibliothèques Discussion :

[MySQL] Compiler un programme sous Linux


Sujet :

Bibliothèques

  1. #1
    Membre à l'essai
    Homme Profil pro
    electricien
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Par défaut [MySQL] Compiler un programme sous Linux
    Bonjour,

    Je suis plus ou moins débutant en programmation,
    j'essaye en vain de compiler la libraire mysql en ligne de commande avec g++ sous Linux en c++.
    J'ai essayé entre autre la commande:
    g++ -o monCode -I/usr/include/mysql -L/usr/lib -lmysqlclient monCode.cpp

    Rien ne semble fonctionner.
    Si quelqu'un peux m'aider, merci d'avance.

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    a tout hasard, tu n'as pas installé la version dev de libmysql ou de libmysqlclient

  3. #3
    Membre à l'essai
    Homme Profil pro
    electricien
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Par défaut compiler mysql c++ linux g++
    J'ai installé libmysqlclient18 et libmysqlclient-dev.
    J'ai aussi installé mysql-server.
    J'avais déja d'installé mysql-client, mysql-client-5.5, mysql-client-core-5.5 et mysql-common.
    Je ne comprends pas la bonne syntaxe à utiliser pour pouvoir compiler.
    Merci

  4. #4
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Par défaut
    Bonjour

    Quelle est l'erreur affichée ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    electricien
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Par défaut
    le message d'erreur est :
    référence indéfinie vers « mysql_init »
    -> donc la première ligne du code qui appelle mysql est refusée :
    MYSQL *connect;
    connect = mysql_init(NULL);
    connect = mysql_real_connect(connect, server, user, password, database, 0,NULL,0);
    return 0;


    Merci

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    En l'occurence la compilation réussit, c'est l'édition de lien (link) qui échoue.
    Faut lier mysql.lib
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Par défaut
    Essaye de compiler avec cette commande :
    Code Bash : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -o monCode `mysql_config --cflags --include --libs` monCode.cpp

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    Vous pouvez trouver plus de précision sur le processus de compilation ici .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Membre à l'essai
    Homme Profil pro
    electricien
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Par défaut
    g++ -o monCode `mysql_config --cflags --include --libs` monCode.cpp me donne le même message d'erreur.
    Merci

  10. #10
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Par défaut
    Que retourne la commande mysql_config --cflags --include --libs ?

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Je suis pas un expert en ligne de commande, mais j'aurais juré que pour lier une lib mysql c'était -lmysql
    edit: ha ok c'est donc caché dans cet étrange mysql_config merci!
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  12. #12
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Par défaut
    Chez moi, mysql_config --libs retourne -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -ldl.

  13. #13
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    C'est le role de mysql_config de produire les bonnes options.
    D'où les "back quotes"

  14. #14
    Membre à l'essai
    Homme Profil pro
    electricien
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Par défaut
    Bonjour et merci aux personnes qui essayent de faire avancer mon probleme.
    La commande mysql_config --cflags --include --libs retourne :

    -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG
    -I/usr/include/mysql
    -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -ldl


    merci

  15. #15
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Par défaut
    Bizarre ; tu es sûr d'avoir le même message d'erreur ?
    Essaye de mettre le `mysql_config --cflags --include --libs` à la fin de la ligne de commande (l'ordre est important).

    Dans mon cas, avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <iostream>
     
    #include <mysql/mysql.h>
     
    int main()
    {
    	MYSQL m;
    	mysql_init(&m);
     
    	return 0;
    }
    Et cette commande pour compiler :
    Code Bash : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -Wall -Wextra -Wconversion -Wsign-conversion -Ofast -std=c++14 -pedantic -fopenmp main.cpp -o main

    J'obtiens cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    main.cpp:(.text.startup+0xb): référence indéfinie vers « mysql_init »
    Mais avec cette ligne de commande, aucune erreur :
    Code Bash : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -Wall -Wextra -Wconversion -Wsign-conversion -Ofast -std=c++14 -pedantic -fopenmp main.cpp -o main `mysql_config --cflags --include --libs`

  16. #16
    Membre à l'essai
    Homme Profil pro
    electricien
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Par défaut
    g++ code.cpp -o hello `mysql_config --cflags --include --libs` fonctionne impeccable.
    Il fallait effectivement mettre `mysql_config --cflags --include --libs` en fin de commande.
    Merci mille fois

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

Discussions similaires

  1. Problème pour compiler un programme sous linux ?
    Par petitclem dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 30/07/2008, 09h58
  2. Compilation d'un programme sous Linux
    Par Tymk dans le forum FMOD
    Réponses: 6
    Dernier message: 03/07/2008, 08h41
  3. [16F84a] Programmation sous linux
    Par Michaël dans le forum Autres architectures
    Réponses: 2
    Dernier message: 25/02/2006, 12h05
  4. GDB/Recherche EDI - Debugguer un programme sous linux
    Par Rodrigue dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 17/01/2006, 23h35
  5. Problemes de compilation avec g++ sous linux
    Par Selimmel dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 19/09/2003, 13h43

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