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

Requêtes MySQL Discussion :

[linux]Pb de compilation mysql en langage C


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 53
    Points
    53
    Par défaut [resolu][linux]Pb de compilation mysql en langage C
    Bonjour je dois faire un projet (sous mandrake) ou je doit piloter, enfin ecrire et lire dans une base de donnée en sql, et je dois realiser un programme en C, je compile l'exemple suivant:

    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
    25
    #include <mysql/mysql.h>
    #include <stdlib.h>
     
    static char *server_args[] = {
      "this_program",       /* this string is not used */
      "--datadir=.",
      "--key_buffer_size=32M"
    };
    static char *server_groups[] = {
      "embedded",
      "server",
      "this_program_SERVER",
      (char *)NULL
    };
     
    int main(void) {
      mysql_server_init(sizeof(server_args) / sizeof(char *),
                        server_args, server_groups);
     
      /* Use any MySQL API functions here */
     
      mysql_server_end();
     
      return EXIT_SUCCESS;
    }
    et il me retourne l'erreur suivante:

    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
    25
    #include <mysql/mysql.h>
    #include <stdlib.h>
     
    static char *server_args[] = {
      "this_program",       /* this string is not used */
      "--datadir=.",
      "--key_buffer_size=32M"
    };
    static char *server_groups[] = {
      "embedded",
      "server",
      "this_program_SERVER",
      (char *)NULL
    };
     
    int main(void) {
      mysql_server_init(sizeof(server_args) / sizeof(char *),
                        server_args, server_groups);
     
      /* Use any MySQL API functions here */
     
      mysql_server_end();
     
      return EXIT_SUCCESS;
    }
    Si vous avez deja eut se probleme,ou que vous connaissé sa, s'il vous plait aider moi.

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Heu, je crois que tes 2 codes sont égaux
    Bon, mis à part ça, je te file l'un de mes codes lorsque je me suis initié à l'API MySQL :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    include <my_global.h>
    #include <mysql.h>
    #include <stdio.h>
    #include <stdlib.h>
     
    MYSQL *conn;
     
    int main(int argc, char**args) {
    MYSQL *con;
    MYSQL_RES *res;
    MYSQL_ROW row;
    unsigned int nb;
    unsigned long *lengths;
    unsigned int i;
     
    conn = mysql_init(NULL);
    if (conn==NULL) {
    	printf ("\aErreur d'initiation du client !\n");
    	exit(EXIT_FAILURE);
    }
    con = mysql_real_connect(conn, NULL, "pikachu", "pokemon", "Pokemon", 3306, NULL,
    0);
    if (con==NULL) {
    	printf ("\aErreur de connection du client !\n");
    	exit(EXIT_FAILURE);
    }
    else 
    	printf ("Connection établi !\nWelcome !\n");
    if(mysql_query(conn, "select Login from User")==0) {
    	res = mysql_use_result(conn);
    	if (res == NULL)
    		printf ("\aPas de réponse !\n");
    	else {
    		nb = mysql_num_fields(res);
    		while ((row = mysql_fetch_row(res)))
    		{
       			lengths = mysql_fetch_lengths(res);
       			for(i = 0; i < nb; i++)
       			{
           				printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
       			}
       			printf("\n");
    		}
    	}
    	mysql_free_result(res);
    }
    else
    	printf ("\aProblème d'interrogation !\n");
    mysql_close(conn);
    printf("Fermeture du client. Bye !\n");
    return 0;
    }
    Ainsi que son makefile associé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    all : client
     
    MYI = -I/usr/include/mysql
    MYLIBS = -L/usr/include/mysql/ -lmysqlclient
     
    client : mysqlclient.c
    	$(CC) -o client mysqlclient.c $(MYI) $(MYLIBS)
     
    clean:
    	-rm -f *.o
    En espérant t'avoir aidé,

    @ ++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  3. #3
    Membre du Club Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 53
    Points
    53
    Par défaut
    merci beaucoup ca marche impecable.

  4. #4
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    De nada amigo
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 24
    Points
    24
    Par défaut
    Salut David,
    Je veux également utiliser l'api MySQL pour controler mes bases avec du C ^^,
    Je viens de voir ton programme, peut tu me le détaillé ?
    De plus je n'ai pas la librarie pour ceci :
    #include <my_global.h>
    #include <mysql.h>

    Ou est ce que je peux me la procurer?
    Merci !!!

    Ps : J'utilise Ubuntu

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 24
    Points
    24
    Par défaut
    C'est bon j'ai trouvé la library. Par contre, j'ai voulu essayer votre programme, j'ai copier le .c, et le makefile, pour compiler, j'ai fait un make all, mais ca ne marche pas, comment faire ?

    Merci

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 24
    Points
    24
    Par défaut
    Cela me marque ceci quand je fait make ALL :
    make: *** Pas de règle pour fabriquer la cible « mysqlclient.c », nécessaire pour « client ». Arrêt.

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 24
    Points
    24
    Par défaut
    C'est bon la compilation marche, un simple make suffit... J'avais meme pas vu le Makefile...
    Bon je me penche sur votre prog, si vous passez par la et me donnez quelque détails dessus, ca serait sympas ^^.Merci !!.

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

Discussions similaires

  1. [linux]erreur de compilation avec eclipse
    Par Asmod_D dans le forum Ogre
    Réponses: 4
    Dernier message: 26/08/2007, 21h29
  2. MySQL et langage Java sur Pocket PC
    Par Invité dans le forum Java ME
    Réponses: 2
    Dernier message: 22/04/2007, 10h51
  3. [Dev][Compilation] mysql.h et mysql_com.h
    Par Darkroro dans le forum Installation
    Réponses: 1
    Dernier message: 26/03/2007, 17h29
  4. linux Pb pour compiler
    Par insa59 dans le forum GTK+ avec C & C++
    Réponses: 12
    Dernier message: 28/02/2007, 16h22
  5. Réponses: 4
    Dernier message: 27/08/2003, 21h34

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