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

Linux Discussion :

[Mysql] et C sous Linux


Sujet :

Linux

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 164
    Points : 154
    Points
    154
    Par défaut [Mysql] et C sous Linux
    Bonjour,

    Je n'arrive pas à trouver comment me connecter a ma base Mysql.

    Je ne trouve que des exemples pour Windows.

    Si vous connaissez un Tuto, merci d'avance.

    Voici un de mes essais infructueux:

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <mysql/mysql.h> 
     
    int main()
    {
            MYSQL *mysql;
     
            mysql = mysql_init(NULL);
            mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "option");
     
            if (mysql_real_connect(mysql, "localhost", "zuthos", "", "mabasetest", 0, NULL, 0))                                                                 
            {   
                    printf("Connexion reussie");
            }   
     
            else
            {   
                    printf("Une erreur s'est produite lors de la connexion a la base de donnee");
            }   
     
            return 0;
    }
    Ainsi que les messages d'erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    cc test-mysql.c
    /tmp/ccZY7eop.o: In function `main':
    test-mysql.c:(.text+0xe): undefined reference to `mysql_init'
    test-mysql.c:(.text+0x28): undefined reference to `mysql_options'
    test-mysql.c:(.text+0x60): undefined reference to `mysql_real_connect'
    collect2: ld returned 1 exit status

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Je ne sais pas sous quelle distribution tu es mais n'aurais-tu pas oublié d'installer le paquet de développement?
    Si le paquet est installé alors peut-être as-tu oublié l'option `mysql_config --cflags --libs` au moment de la compilation...

  3. #3
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 164
    Points : 154
    Points
    154
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Je ne sais pas sous quelle distribution tu es mais n'aurais-tu pas oublié d'installer le paquet de développement?
    Si le paquet est installé alors peut-être as-tu oublié l'option `mysql_config --cflags --libs` au moment de la compilation...
    En fait, j'ai une Debian testing. Je n'installe que les paquet de Debian.

    Avant d'essayer de compiler, j'ai fait un:

    apt-get install libmysqlclient15-dev

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Points : 2 627
    Points
    2 627
    Par défaut
    Ce que veut dire gerald3d, c'est que ton souci c'est pas lié à l'installation de mysql (ou plutôt on ne l'espère pas) mais à la génération de ton binaire.

    Je pense que tu ne sais pas quoi chercher dans Google. Donc, vu que ton problème est lié à la compilation, essaie : "gcc mysql". tu vas tomber sur des tutoriaux qui vont t'aider.

  5. #5
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 164
    Points : 154
    Points
    154
    Par défaut
    Citation Envoyé par mala92 Voir le message
    Je pense que tu ne sais pas quoi chercher dans Google. Donc, vu que ton problème est lié à la compilation, essaie : "gcc mysql". tu vas tomber sur des tutoriaux qui vont t'aider.
    Merci, je me jette sur cette piste

    En voici les résultats:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $ mysql_config --libs
    -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto
     
    $ mysql_config --cflags
    -I/usr/include/mysql -g -pipe -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing
     
    $ gcc -o output-file $(mysql_config --cflags) mysql-c-api.c $(mysql_config --libs)
    Avec output-file la sortie
    et mysql-c-api.c le programme.

    Un petit Makefile pour automatiser le tous.

    Merci à tous ceux qui se sont penché sur mon problème.


  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Je déterre le sujet:

    voici un lien qui pourrait aider les autres internautes
    http://labcsmart.com/comment-se-conn...-c-sous-linux/

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

Discussions similaires

  1. Mysql en 64bits sous Linux, vous en pensez quoi ?
    Par clavier12AZQSWX dans le forum MySQL
    Réponses: 2
    Dernier message: 28/05/2009, 15h36
  2. Comment désinstaller MySQL sous linux
    Par nahmsath dans le forum Installation
    Réponses: 5
    Dernier message: 18/09/2007, 11h46
  3. MySQL sous linux comment s'y prendre?
    Par Doberman dans le forum Débuter
    Réponses: 4
    Dernier message: 10/01/2006, 12h58
  4. Sauvegarde efficace d'une base MySql sous Linux
    Par Arioch dans le forum Administration
    Réponses: 9
    Dernier message: 19/09/2004, 11h24
  5. Chemin d'accès de MySQL sous linux
    Par sylvain_neus dans le forum Installation
    Réponses: 6
    Dernier message: 17/03/2004, 11h39

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