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 :

Erreur de compilation en debug


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 2
    Par défaut Erreur de compilation en debug
    Salut à tous, bon voilà, j'ai fait un programme de gestion de BDD sous code blocks mais ça renvoi des erreurs en mode debug mais fonctionne bien en mode release. Y-a-til quelqu'un qui pourrai m'aider?

    voici mon code si quelqu'un aura une idée merci!

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    #include <stdio.h>
    #include <stdlib.h>
    #include <winsock.h>
    #include <MYSQL/mysql.h>
     
    int main()
    {
     
        MYSQL mysql;
                   mysql_init(&mysql);
     
            mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option");
     
     
            if(mysql_real_connect(&mysql,"Localhost","root","","bdd",0,NULL,0))
            {
     
                mysql_query(&mysql, "SELECT * FROM adherent");
     
     
                MYSQL_RES *result = NULL;
                MYSQL_ROW *row = NULL;
     
                unsigned int i = 0;
                unsigned int num_champs = 0;
     
     
                result = mysql_use_result(&mysql);
     
     
                num_champs = mysql_num_fields(result);
     
     
                while ((row = mysql_fetch_row(result)))
                {
     
                    unsigned long *lengths;
     
     
                    lengths = mysql_fetch_lengths(result);
     
     
                   for(i = 0; i < num_champs; i++)
                   {
                       //On ecrit toutes les valeurs
                       printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
                   }
                   printf("\n");
                }
     
     
                mysql_free_result(result);
     
     
                mysql_close(&mysql);
     
            }
            else  //Sinon ...
            {
                printf("Une erreur s'est produite lors de la connexion à la BDD!");
            }
     
     
        return 0;
    }
    ||=== bdd, Debug ===|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c||In function 'main'
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|37|warning: assignment from incompatible pointer type|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|49|warning: pointer type mismatch in conditional expression|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|49|warning: format '%.*s' expects type 'char *', but argument 3 has type 'void * const'|
    obj\Debug\main.o||In function `main'
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|13|undefined reference to `mysql_init@4'|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|15|undefined reference to `mysql_options@12'|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|18|undefined reference to `mysql_real_connect@32'|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|21|undefined reference to `mysql_query@8'|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|31|undefined reference to `mysql_use_result@4'|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|34|undefined reference to `mysql_num_fields@4'|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|43|undefined reference to `mysql_fetch_lengths@4'|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|37|undefined reference to `mysql_fetch_row@4'|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|55|undefined reference to `mysql_free_result@4'|
    C:\Documents and Settings\Administrateur\Bureau\apmysql\bdd\main.c|58|undefined reference to `mysql_close@4'|
    ||=== Build finished: 10 errors, 3 warnings ===|

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,



    Tu as oublier de linker la bibliothèque de mysql (option -lNom_Bibliothèque à rajouter pour gcc )

  3. #3
    Membre éclairé Avatar de c1702
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Par défaut
    Bonjour,

    Comme tu n'as pas mis ton code entre balises de code, ce n'est pas super simple pour voir quelles lignes posent problème.

    Le premier warning ligne 37 semble venir de cette ligne :
    while ((row = mysql_fetch_row(result)))

    Sur la page de doc (http://dev.mysql.com/doc/refman/5.1/...fetch-row.html) qui ressemble très fortement à ton code, il est indiqué que mysql_fetch_row() renvoie un MYSQL_ROW. Or, tu affectes le résultat à un pointeur sur un MYSQL_ROW. Donc ça ne va pas.

    Pour les 10 erreurs de fin, je dirai que tu ne linkes pas avec la lib.

    Clément.

    Edit : Pris de vitesse par Neckara !

  4. #4
    Membre éclairé Avatar de Ngork
    Homme Profil pro
    Barbare IT
    Inscrit en
    Avril 2009
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Barbare IT
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 160
    Par défaut
    Un projet Code::Blocks est constitué par défaut d'une cible Debug et d'une cible Release.

    Dans les propriétés des options de compilation (menu Project -> Build options puis onglet Linker settings) tu dois attribuer les bibliothèques (zone Link librairies) en racine du projet et non à une cible en particulier.

    Je pense donc qu'ici tu as simplement ajouté mysql à la cible Release au lieu de l'ajouter au projet. Corrige cela et tu obtiendras ton exécutable pour la cible Debug ...

    Concernant les différents avertissements de compilation (par exemple : "warning: assignment from incompatible pointer type"), il n'est pas absolument indispensable de corriger ton code pour qu'il compile, mais il est de bonne pratique de le faire car un warning cache souvent une vraie erreur de programmation ou une étourderie ...

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/02/2012, 15h22
  2. [Système] [debug] Détection des erreurs de compil
    Par Herode dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2006, 13h03
  3. Erreur de compilation sur une librairie en mode debug
    Par bakaneko dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/05/2006, 16h32
  4. Réponses: 2
    Dernier message: 27/03/2006, 17h18
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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