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 :

Problème de compilation croisée


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Problème de compilation croisée
    Bonjour à tous,

    J'ai découvert la très bonne bibliothèque VMime. Sous linux, elle compile très bien. Cependant, lorsque j'arrive pour la compiler avec mingw32, j'ai cette erreur à l'exécution du script configure :

    configure: error: no 8-bit type available

    Commande pour le script configure :

    ./configure --target=i686-pc-mingw32 CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++

    P.-S. : J'ai déjà essayé de la compiler avec Visual Studio, mais ça ne fonctionne pas plus.

    Merci d'avance

  2. #2
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    tu compile sous windows

    ou tu essaie de générer ta lib pour windows depuis linux?
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    J'ai essayé les deux.

    Présentement, j'essaie de générer ma lib sous linux.

  4. #4
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    j'ai trouvé ce tutoriel

    http://www.dumbbell.fr/howto/win32-c...lation.fr.html

    j'espère qu'il pourra t'aider.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Je l'ai déjà regardé, mais je vais réessayer.

    P.-S. : Je suis sous Ubuntu 9.04 et j'ai installé mingw32 par les dépôts. De plus, le compilateur fonctionne pour d'autres programmes.

  6. #6
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par magicienap Voir le message
    Je l'ai déjà regardé, mais je vais réessayer.

    P.-S. : Je suis sous Ubuntu 9.04 et j'ai installé mingw32 par les dépôts. De plus, le compilateur fonctionne pour d'autres programmes.
    l'environnement est identique pour les autres programmes qui marchent?
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  7. #7
    screetch
    Invité(e)
    Par défaut
    il faudrait que tu regardes le résultat du fichier de log généré par configure.
    ca doit etre dans config.log ou un truc comme ca. il y a dedans le résultat de la compilation et ca indiquera ce qui n'a pas marché.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    L'environnement est identique pour les autres programmes.

    Je vous joins le config.log (renommé en config.txt).
    Fichiers attachés Fichiers attachés

  9. #9
    screetch
    Invité(e)
    Par défaut
    a priori je dirai que configure se plante a cause du retour chariot de la version windows. En effet d'apres le log, sizeof(char) = 1^M (\r\n au lieu de \n quoi)
    tes executables ne sont pas detectés comme cross-compilation car ubuntu sait lancer un exe windows sous linux, je pense que ca fausse le résultat. j'avoue que si je vois le problème je n'ai pas d'idée sur sa résolution cependant...

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Alors, si ce n'est pas possible, est-ce que vous savez où je pourrais trouver des binaires Windows de VMime ?

  11. #11
    screetch
    Invité(e)
    Par défaut
    il y a un readme dans leur sources pour compiler avec MSVC, non ? sinon, si ils ne fournissent pas j'avoue que je ne sais pas

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    J'ai aussi essayé de suivre ce fichier et ça n'a pas fonctionné. Il y avait des erreurs avec Visual Studio lors de la compilation et MSYS bloquait lors de l'exécution du script configure.

  13. #13
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par magicienap Voir le message
    Personne n'aurait d'idée ?
    cela n'a peu être rien a voir mais tes sources sont toutes au format unix?
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Comment peut-on le savoir ?

  15. #15
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    en gros un éditeur come vi/emacs peuvent te le dire ou te le montrer (genre tu as plen de ^M) à la fin des lignes de tes fichier.

    autrement dans le doute tu fais un dos2unix sur te fichiers, mais bon je ne pense pas que cela résoudra ton problème, ou alors le configure n'est pas robuste.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Bonjour à tous,

    J'ai continué mes recherches et je suis tombé sur MinGW cross compiling environment, qui comporte maintenant VMime.


    J'ai donc continué sur la voie de la compilation croisée. Il ne me reste plus que deux erreurs à traiter. Je les mets ici, mais il me reste encore un peu de recherche à faire.


    1. undefined reference to `_WinMain@16'
    2. undefined reference to `std::ctype<char>::_M_widen_init() const'

  17. #17
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    pour winmain c'est ce qui remplace la fonction main parfois sous windows.

    Donc si ton programme est un programme classique sous linux/unix il te suffit de remplacer main par WinMain, et adapeter le parsing des arguments eventuels.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Je ne crois pas que ces erreurs viennent de mon programme. J'aurais dû être plus explicite. Voici à nouveau les erreurs :

    1. /opt/mingw/usr/i686-pc-mingw32/lib/libmingw32.a(main.o):main.c: (.text+0xd2): undefined reference to `_WinMain@16'
    2. /opt/mingw/usr/i686-pc-mingw32/lib/libvmime.a(dateTime.o):dateTime.cpp: (.text+0x36c4): undefined reference to `std::ctype<char>::_M_widen_init() const'


    De plus, je ne crois pas devoir remplacer main par WinMain puisque j'utilise un projet que je compile avec qmake (TEMPLATE = app). Mais peut-être que je me trompe...

  19. #19
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par magicienap Voir le message
    Je ne crois pas que ces erreurs viennent de mon programme. J'aurais dû être plus explicite. Voici à nouveau les erreurs :

    1. /opt/mingw/usr/i686-pc-mingw32/lib/libmingw32.a(main.o):main.c: (.text+0xd2): undefined reference to `_WinMain@16'
    Traduction le compilateur n'arrive pas a trouver le symbole winmain pour linker ton programme.


    quelques pistes pour résoudre ton problème.
    http://c.developpez.com/faq/?page=di...DIVERS_WinMain

    http://www.developpez.net/forums/d81...-winmain-16-a/
    [ame]http://www.devmaster.net/forums/showthread.php?t=10917[/ame]


    pour l'autre je ne sais pas.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Pour ce qui est de la première erreur, j'ai réussi à la résoudre.

    J'avais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #ifndef __unix__
        #ifndef _WIN32
            #error "Pour l'instant, seules les plateformes Microsoft Windows et celles de type UNIX sont supportées."
        #endif
     
    #else
    // Reste du programme AVEC main
     
    #endif
    Je crois que c'était parce que WIN32 n'était pas toujours défini (ou quelque chose du genre) et que par conséquent, main, étant englobé là-dedans, n'apparaissait nulle part. J'ai donc enlevé ces directives.


    Pour ce qui est de l'autre erreur, j'aimerais savoir où se trouve l'errreur : dans mon programme où dans la bibliothèque ?

Discussions similaires

  1. problème de compilation sous visual C++
    Par fabmili dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2004, 19h52
  2. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  3. Réponses: 1
    Dernier message: 29/10/2003, 12h16
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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