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

MFC Discussion :

difference de compilation sur gcc et sur vc++


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut difference de compilation sur gcc et sur vc++
    Voila, j'ai un probleme de compilation.

    J'ai un programme que je peux compiler sans probleme avec visual c++, mais avec gcc, il me renvoie des erreurs:

    In file included from Ad125ex.cpp:5:
    pcdaq.h:186:20: warning: no newline at end of file
    C:\DOCUME~1\blaporte.CST\LOCALS~1\Temp/ccw1baaa.o(.text+0x2c):Ad125ex.cpp: undef
    ined reference to `daqCmd@20'
    C:\DOCUME~1\blaporte.CST\LOCALS~1\Temp/ccw1baaa.o(.text+0x62):Ad125ex.cpp: undef
    ined reference to `daqCmd@20'
    C:\DOCUME~1\blaporte.CST\LOCALS~1\Temp/ccw1baaa.o(.text+0x98):Ad125ex.cpp: undef
    ined reference to `daqCmd@20'
    C:\DOCUME~1\blaporte.CST\LOCALS~1\Temp/ccw1baaa.o(.text+0xcf):Ad125ex.cpp: undef
    ined reference to `daqCmd@20'
    C:\DOCUME~1\blaporte.CST\LOCALS~1\Temp/ccw1baaa.o(.text+0x3f9):Ad125ex.cpp: unde
    fined reference to `daqCmd@20'
    C:\DOCUME~1\blaporte.CST\LOCALS~1\Temp/ccw1baaa.o(.text+0x4db):Ad125ex.cpp: more
    undefined references to `daqCmd@20' follow
    collect2: ld returned 1 exit status
    Et je comprend pas pourquoi je peux compiler avec l'un mais pas avec l'autre.

    Merci

  2. #2
    Membre Expert
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Par défaut
    pour faire tres tres tres simple

    parce que VC est un compilateur avec des librairies orientées windows et GCC xNUX

    tu peux faire du code compilable sur les 2 plates formes mais il faut que les 2 ont exactement les memes bibliotheques

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    la seul bibliotheque que j'utilise, c'est stdio.h
    je ne pense pas que ce soit elle qui me pose probleme (mais peut me tromper).

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    cstdio

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    Citation Envoyé par bigboomshakala
    cstdio
    Désolé, mais je ne comprend pas ce que tu veux dire.

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Il veut dire qu'en C++ on n'inclue plus <stdio.h> mais <cstdio>. Mais ça ne règlera probablement pas ton problème de toute façon.

    Tu compiles avec MinGW ? Quelle version ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    Visiblement, le probleme viendrait des bibliotheque.

    J'inclus un .h qui doit faire réference à une bibliotheque .LIB, or ces bibliotheque ne sont pas utilisable avec gcc. Maintenant, comment faire pour utilisé une bibliotheque .LIB avec gcc?

    PS: MinGW? heu... connais pas! j'utilise dev-cpp pour éditer mes programme et avoir la commande gcc dans ma console et, à mon grand dâmevisual c++ par obligation(c trop compliqué pour moi cette machine à gaz!).

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    MinGW c'est le portage de gcc pour Windows, donc c'est ce que tu utilises.

    Par contre effectivement les .lib ne sont pas reconnus par ce compilo.

    Deux cas de figure :

    - S'il s'agit du .lib assoié à une DLL alors tu peux recréer le .a correspondant avec l'utilitaire dlltool (dans le répertoire bin de Dev-C++), la dll et son .def. Tu as aussi l'outil reimp qui permet de faire ça, cette fois sans le .def (pratique si tu ne l'as pas).

    - S'il s'agit d'un .lib seul, alors en théorie MinGW devrait pouvoir l'accepter tel quel. En théorie, car l'essai que j'ai effectué il y a quelques jours ne s'est pas révélé concluant

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 11
    Par défaut
    C'est un .LIB en solo, sans rien d'autre. (ni .def, ni dll)

    Mais faut-il lui indiqué le chemin du .LIB même si celui-ci se situe dans le même repertoire que le code source?

Discussions similaires

  1. [Débutant] Inline dans C++ sur gcc compiler, copier a dans b
    Par Le Kamikaze dans le forum Assembleur
    Réponses: 0
    Dernier message: 15/09/2011, 17h05
  2. [Compilation] erreur sous gcc, pas sur Visual
    Par poukill dans le forum C++
    Réponses: 2
    Dernier message: 30/03/2009, 12h38
  3. Réponses: 3
    Dernier message: 16/02/2007, 12h35
  4. Réponses: 1
    Dernier message: 11/12/2004, 19h35

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