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

VC++ .NET Discussion :

Encore un probleme de compilation


Sujet :

VC++ .NET

  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Par défaut Encore un probleme de compilation
    Bonjour,
    dans le cadre de mon travail, j'ai developpé un programme en C avec devc++, ce programme compile et s'execute sans pb avec dev.
    Mais pour des raisons multiples, je suis obligé de produire un executable à partir de visual c++ .net 2003 à partir de ce code.
    J'ai donc essayé de compiler mes fichiers C avec Visual et j'obtiens les erreurs suivantes :

    * error C2143 : erreur de syntaxe : absence de ';' avant 'type'
    * error C2065 : 'i' : identificateur non declaré

    j'ai beau relire mon code, je ne comprends pas.

    Les morceaux de code qui suscitent l'erreur sont :

    int rb; -> erreur C2143
    int bit_c -> erreur 2143
    ...
    et pour l'erreur 2065 :
    int i;
    for(i=0; i<20000; i++) {..}
    --> si je comprends bien, il dit que i n'est pas declaré avant la boucle alors qu'il est la ligne au-dessus !!

    Je m'arrache les cheveux, s'il vous plait aidez moi..
    Est ce que vous avez dejà rencontré des pb similaires à la compilation de c ? peut etre qu'il y a des options du compilateur mal configurées ?

    pourtant , dans les options du compilateur j'ai bien mis : compiler comme du C, et sans fichiers d'en tete precompiles..

    Si quelqu'un a une idée..
    Merci d'avance..

  2. #2
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    C'est bizarre.

    Ce code (main.c) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int main()
    {
        int i;
     
        for( i = 0; i < 10; i++ )
        {
        }
     
        return 0;
    }
    compile très bien avec visual c++ .net 2003.

    Tu peux montrer le fichier complet ?

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Par défaut
    merci Mayti4, en fait ton message m'a aidé :

    j'avais mélangé mes déclarations de variables et des instructions, alors qu'en C, si on est puriste (et apparemment, visual l'est ), il faut faire toutes les declarations en premier ou dans des blocs..
    donc maintenant, je n'ai plus ces erreurs puisque la premiere entrainait les autres...

    par contre, maintenant, il me reste une erreur à l'edition des liens que je ne maitrise pas du tout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Compilation...
     
    prog.c(284) : warning C4244: '=' : conversion de 'double' en 'float', perte possible de données
    prog.c(297) : warning C4244: '=' : conversion de 'double' en 'float', perte possible de données
    prog.c(301) : warning C4244: '=' : conversion de 'double' en 'float', perte possible de données
    prog.c(307) : warning C4244: '=' : conversion de 'float' en 'int', perte possible de données
    prog.c(342) : warning C4244: '=' : conversion de 'float' en 'int', perte possible de données
    prog.c(380) : warning C4244: '=' : conversion de 'double' en 'float', perte possible de données
    prog.c(427) : warning C4244: '=' : conversion de 'double' en 'float', perte possible de données
    prog.c(476) : warning C4244: 'initialisation' : conversion de 'double' en 'int', perte possible de données
     
    Édition des liens en cours...
    LIBCMTD.lib(wincrt0.obj) : error LNK2019: symbole externe non résolu _WinMain@16 référencé dans la fonction _WinMainCRTStartup
    Debug\prog.c: fatal error LNK1120: 1 externes non résolus
    Les Warnings, c'est normal, je sais pourquoi ils sont là..
    Mais l'erreur LNK2019, je ne comprends pas du tout..parce que le nom de la fonction qui pose pb ne me dis rien...je ne l'utilise pas.. je savais même pas que ces fichiers existaient...

    Est ce que quelqu'un saurait m'expliquer ??

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Je suppose que ton programme possède un main().
    --> Change le type de projet de "Win32" à "Win32 console"

    Edit: Enfin, change le paramètre "Subsystem" dans les options du Linker.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Par défaut
    merci..
    en fait, je pense que je vais devoir modifier ça parce que j'ai besoin d'une interface que je n'ai pas encore creée..donc je pense que mon main va devenir une fonction..
    d'apres toi ça marchera comme ça ?

  6. #6
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Par défaut
    bon, un grand Merci parce ça marche..
    vous etes tres fort, c'est genial !

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Merci
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/07/2004, 13h24
  2. [JSP & TAGLIB] Probleme de compilation
    Par GesMo dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 17/05/2004, 15h03
  3. Probleme de Compilation de la STL
    Par stoluup dans le forum MFC
    Réponses: 3
    Dernier message: 05/05/2004, 17h25
  4. [TP]Probleme de compilation sous TP7
    Par yffick dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 18/12/2003, 20h32
  5. Problemes de compilation avec g++ sous linux
    Par Selimmel dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 19/09/2003, 13h43

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