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

  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

  7. #7
    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
    Cest nom qui est deprecated. je ne vois pas de fonction moi.
    tu joues sur les mots mais tu m'as bien compris, ce sont les macros qui sont "deprecated".
    Dans tous les cas, ça ne répond pas à ma dernière question!!

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