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 :

Undefined reference to '_Winmain@16'


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut Undefined reference to '_Winmain@16'
    Bonjour tout le monde,

    J'ai voulu essayer le fonctionnement de ASSERT pour un test unitaire sur une fonction simple. Mais lors de la compilation de recois l'erreur :

    C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\libmingw32.a(main.o):main.c.text+0x104)||undefined reference to `_WinMain@16'|

    Mon projet est bien de type console.
    J'utilise Code Blocks.
    J'arrive pas à résoudre le prb meme en ayant suivi les instructions deja dites dans d'autres discussions.please HELP !

    voila mon code :

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include "Basic.h"
     
    #ifdef USE_DEPRECATED_CUNIT_NAMES
     
     
    int maxi(int i1, int i2)
    {
    return (i1 > i2) ? i1 : i2;
    }
     
    void test_maxi()
    {
    CU_ASSERT(maxi(0,2) == 2);
    CU_ASSERT(maxi(0,-2) == 0);
    CU_ASSERT(maxi(2,2) == 2);
    }
     
    //int main(int argc, char **argv) {
     
    int main() {
     
    test_maxi();
     
    return 0;
    }
     
    #endif
     
    void END_OF_MAIN();

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par yas13 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\libmingw32.a(main.o):main.c.text+0x104)||undefined reference to `_WinMain@16'|
    voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include "Basic.h"
     
    #ifdef USE_DEPRECATED_CUNIT_NAMES
    Il faut que tu expliques d'où vient "Basic.h" Tout le monde ne connait pas CUnit...

    Ensuite, si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    USE_DEPRECATED_CUNIT_NAMES
    n'est pas défini, la suite du code n'est pas compilée et il n'y a pas de main(). (plus ou moins traduit en WinMain() sous Windows).

  3. #3
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    CUnit ne s'utilise pas comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <CUnit/CUnit.h>
    #include <CUnit/Basic.h>
    En plus j'ai un gros doute sur ta compréhension du framework aux vues du #ifdef.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut
    Non non le #include "Cunit.h" est bien comme ca. Tout depend ou tu mets les fichiers Cunit.h, Basic.h ... par rapport aux fichiers sources du projet.$
    Pour :

    USE_DEPRECATED_CUNIT_NAMES

    ca sert a utiliser les assertions version 2 de Cunit pour que le compilateur puisse les reconnaitre cest tout.


    Merci en tt cas pour vos réponses. je continue mes recherches ;-)

  5. #5
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par yas13 Voir le message
    Non non le #include "Cunit.h" est bien comme ca. Tout depend ou tu mets les fichiers Cunit.h, Basic.h ... par rapport aux fichiers sources du projet.$
    Pour :

    USE_DEPRECATED_CUNIT_NAMES

    ca sert a utiliser les assertions version 2 de Cunit pour que le compilateur puisse les reconnaitre cest tout.


    Merci en tt cas pour vos réponses. je continue mes recherches ;-)
    ah oui j'oubliais que tu étais sous windows...
    Dans tout les cas, la constante USE_DEPRECATED_CUNIT_NAMES est généralement une constante que l'on défini et non que l'on teste.
    Juste pour savoir, quelle est l'utilité d'utiliser les fonctions "deprecated" de CUnit ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut
    Cest nom qui est deprecated. je ne vois pas de fonction moi.

    regarde ce lien c'est expliqué dessus :

    http://cunit.sourceforge.net/doc/writing_tests.html

Discussions similaires

  1. winsock.h : undefined reference...
    Par abraxas dans le forum Dev-C++
    Réponses: 14
    Dernier message: 06/08/2012, 13h42
  2. Undefined reference compilation réseau
    Par Ren97 dans le forum Dev-C++
    Réponses: 11
    Dernier message: 08/03/2005, 09h46
  3. Compilation de xmms : undefined reference to...
    Par Michaël dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 04/02/2005, 19h05
  4. undefined reference to `xmlParseFile'
    Par Clemaster dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 25/06/2004, 20h38
  5. g++ : undefined reference to ...
    Par le_barbu dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 14/05/2004, 07h23

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