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

Qt Discussion :

Compiler les bibliothèques debug de la version 4.4


Sujet :

Qt

  1. #1
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut Compiler les bibliothèques debug de la version 4.4
    Salut,

    J'ai essayé de lancer le processus de compilation des versions debug des dll pour Qt 4.4.0 final.

    Lors de l'édition de liens de QtXml, l'éditeur de liens se plaint de définitions multiples pour QChar.

    Quelqu'un s'étant déjà frotté au problème y a-t-il trouvé une solution
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  2. #2
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Quel est le message exact stp? (si tu as des doutes, poste la trace complète).
    Et aussi, quel compilo/système?

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Ainsi que je l'ai écrit, l'éditeur de liens m'éjecte en se plaignant d'une déclaration multiple de QChar.

    Cela prend la forme du message:
    windres -i QtXmld_ressource.rc -o tmp\obj\debug_shared\QtXmld_ressource_res.o --include_dir=.
    g++ -enable-stdcall-fixup -Wl,-enable-auto-import -wl,-enable-runtime-pseudo-reloc -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\4.4.0\libQtXmld4.a - ..\..\lib\QtXmld4.dll tmp/obj/debug_shared/qdom.o tmp/obj/debug_shared/qxml.o tmp/obj/debug_shared/qxmlstream.o -L"c:\Qt\4.4.0\lib" -L"c:\Qt\4.4.0\lib" tmp\obj\debug_shared\QtXmld_ressource_res.o -lQtCored4

    Création du fichier de bibliothèque libQtXmld4.a
    libQtXmld4.a(d001493.o): (.text +0x0) : définition multiples de QChar::QChar(int)
    chemin-vers/qchar.h: 374: QChar défini pour la première fois ici
    libQtXmld4.a(d001488.o): (.text +0x0) : définition multiples de QChar::QChar(QLatin1Char)
    chemin-vers/qchar.h: 376: QChar défini pour la première fois ici
    et continue avec la plupart des constructeurs de QChar...

    Bref, je ne serais pas surpris outre mesure que le problème vienne, d'une manière ou d'une autre, de la liaison avec QtCored4... mais la bonne question est donc de savoir comment y remédier
    Pour info, j'essaye de compiler les bibliothèque en version debug, sous windows XP pro, avec Gcc 4.3.0
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Gcc 4.3 ????
    elle est sortie sous windows?

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Gcc 4.3 ????
    elle est sortie sous windows?
    Tu sembles oublier à qui tu t'adresse

    Elle fonctionne très bien, avec une compilation "a mano"
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Je suis un peu scié là; mais bon gcc 4.3 c'est la version Testing, donc voilà
    Tu ne peux pas revenir sur la dernière version stable? (voire le mingw que tu peux downloader direct par l'installeur de Qt-mingw)

  7. #7
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par IrmatDen Voir le message
    Je suis un peu scié là;
    Pourquoi, parce que j'ai compilé Gcc 4.3.0 sous windows
    mais bon gcc 4.3 c'est la version Testing, donc voilà
    Ah, non, elle est en release...cf l'annonce

    Ce qui se passe, c'est qu'elle implémente déjà ce qui est sorti des drafts de la norme c++0x, ce qui fait qu'elle est susceptible d'évoluer...
    Tu ne peux pas revenir sur la dernière version stable? (voire le mingw que tu peux downloader direct par l'installeur de Qt-mingw)
    pour quoi faire l'installateur voudrait de toutes manières installer une version très ancienne de l'api windows...

    Et, comme c'est à l'édition des liens que make m'éjecte...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Pourquoi, parce que j'ai compilé Gcc 4.3.0 sous windows
    Non, j'ai posté ma réponse sans avoir la tienne en fait. Je suis scié par l'erreur parce qu'elle est purement "débile".

    Citation Envoyé par koala01 Voir le message
    Ah, non, elle est en release...cf l'annonce
    Ahem. sf.net n'est pas d'accord pour la version windows. Puisque tu l'as compilé toi même, j'aurais tendance à parier que l'erreur vient du compilo, pas de Qt.

    PS: d'avance, non je ne sais pas à qui je parle, mais une tambouille faite main, c'est source de problème.

  9. #9
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Ce n'est pas parce que MinGW décide de ne mettre Gcc 4.3.0 qu'en version testing que le compilateur n'est pas en version stable

    La version 4.3.0 est bel et bien considérée comme stable par le site de Gcc, et j'ai compilé l'ensemble des pré-requis au départ de leurs sources dans la version stable

    En outre, ce n'est pas la première version stable de Qt qui pose des problèmes lorsqu'il s'agit de la compiler sous windows

    Enfin, il se fait que c'est clairement à l'édition de liens que le problème survient.

    Et pour te rassurer, ma remarque s'adressait principalement à Mongaulois...

    Ma signature te fournira toutes les indications que ma modestie naturelle me pousse à taire
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  10. #10
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hia,

    Je pense qu'il y a pas mal de chance que l'erreur vienne du compilateur,

    CAR

    avec le mingW habituel (gcc version 3.4.2), je compile parfaitement Qt 4.4.0 en release et debug, et ça ne passe pas avec gcc version 4.2.1, avec exactement les mêmes options, des chemins, etc. parfaitement configurés (il sort des âneries comme "symbol not defined in this scope" alors qu'il l'est parfaitement, sinon la version plus ancienne trouverait également la même erreur).
    Si les cons volaient, il ferait nuit à midi.

  11. #11
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Et pour te rassurer, ma remarque s'adressait principalement à Mongaulois...

    Ma signature te fournira toutes les indications que ma modestie naturelle me pousse à taire
    Désolé, j'aurais dû utiliser un smiley; je ne pensais pas à mal

    Peut-être que Trolltech n'a pas encore géré ce compilo sinon :s

  12. #12
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Je parie pour le compilot. Le configure est pour la version 3 de gcc. Peut être quand bidouillant dans le repertoire mkspec, tu pourra modifier win32-g++

    Par contre, il y as un topic ou un truc sur mingw-gcc4.3 quelque part? pour voir ce qui est déjà ajouté de c++0x?
    ont ils ajouté les rvalue?
    OpenMP fonctionne bien?

  13. #13
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    tu peut aussi repartir de zero(source propre) et essayer
    configure -platform win32-g++
    pour être sur de configurer pour mingw.

  14. #14
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par droggo Voir le message
    avec le mingW habituel (gcc version 3.4.2), je compile parfaitement Qt 4.4.0 en release et debug, et ça ne passe pas avec gcc version 4.2.1, avec exactement les mêmes options, des chemins, etc. parfaitement configurés (il sort des âneries comme "symbol not defined in this scope" alors qu'il l'est parfaitement, sinon la version plus ancienne trouverait également la même erreu)r.
    Pour ma part, j'ai tendance à estimer que, si un système compile parfaitement une série non négligeable de bibliothèques, qu'elles soient statiques ou dynamiques, mais "foire" à la compilation d'une bibliothèque unique, c'est sans doute de la faute de la bibliothèque, et non celle du compilateur

    En outre, une erreur de "undefined symbol" reste malgré tout assez facile à résoudre
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  15. #15
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Je parie pour le compilot. Le configure est pour la version 3 de gcc. Peut être quand bidouillant dans le repertoire mkspec, tu pourra modifier win32-g++
    Citation Envoyé par Mongaulois Voir le message
    Par contre, il y as un topic ou un truc sur mingw-gcc4.3 quelque part? pour voir ce qui est déjà ajouté de c++0x?
    ont ils ajouté les rvalue?
    OpenMP fonctionne bien?
    Tu parle sans doute des rvalues references

    Selon cette page, ils ont déjà implémenté une première partie (les rvalue references pour tout autre que *this)

    Je n'ai évidemment jamais prétendu (bien que mes écrits aient pu laisser croire le contraire) que la prochaine norme était intégralement implémentée...

    Et, pour être honnête, il semblerait même qu'il y ait plus de choses qui ne sont pas encore implémentées que de choses qui le sont déjà

    Quant à openMP, j'avoue ne pas avoir testé
    Citation Envoyé par Mongaulois Voir le message
    tu peut aussi repartir de zero(source propre) et essayer
    configure -platform win32-g++
    pour être sur de configurer pour mingw.
    Je suis justement occupé à tenter une compilation lancée de manière tout à fait manuelle... je verrai ce que cela donne
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  16. #16
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Pour ma part, j'ai tendance à estimer que, si un système compile parfaitement une série non négligeable de bibliothèques, qu'elles soient statiques ou dynamiques, mais "foire" à la compilation d'une bibliothèque unique, c'est sans doute de la faute de la bibliothèque, et non celle du compilateur
    Mouais, sauf que la bibliothèque en question dispose d'un certain nombre de réglages compilo "par défaut" par le biais des mkspecs. D'où l'intérêt de savoir dans un premier temps si ça marche en passant par un configure manuel, puis dans un autre, de télécharger les sources et de *tout* faire à la mano.

    Citation Envoyé par koala01 Voir le message
    En outre, une erreur de "undefined symbol" reste malgré tout assez facile à résoudre
    Pas Undefined symbol, "multiple definitions"

    Edit: grillé, t'as posté entretemps

  17. #17
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par IrmatDen Voir le message
    Pas Undefined symbol, "multiple definitions"
    Là, je répondais en réalité à droggo, qui parlait d'un problème de symbol non défini lors de la compilation avec gcc-4.2
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  18. #18
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Ca, c'est l'éternelle joie des forums

  19. #19
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Gao,
    Citation Envoyé par koala01 Voir le message
    Pour ma part, j'ai tendance à estimer que, si un système compile parfaitement une série non négligeable de bibliothèques, qu'elles soient statiques ou dynamiques, mais "foire" à la compilation d'une bibliothèque unique, c'est sans doute de la faute de la bibliothèque, et non celle du compilateur

    En outre, une erreur de "undefined symbol" reste malgré tout assez facile à résoudre
    Certes, mais qu'une ancienne version de ce même compilateur fasse parfaitement bien le travail sur cette même bibliothèque met très sérieusement en doute la version du compilateur, ou alors explique moi pourquoi une telle erreur pourrait passer inaperçue de l'ancienne version, en obtenant des fichiers compilés valides, etc.
    Si les cons volaient, il ferait nuit à midi.

  20. #20
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par droggo Voir le message
    Gao,

    Certes, mais qu'une ancienne version de ce même compilateur fasse parfaitement bien le travail sur cette même bibliothèque met très sérieusement en doute la version du compilateur, ou alors explique moi pourquoi une telle erreur pourrait passer inaperçue de l'ancienne version, en obtenant des fichiers compilés valides, etc.
    Et l'idée que l'ancienne version ait pu présenter une manière particulière et "non standard" de fonctionner, et que la bibliothèque ait décidé d'utiliser cette particularité ne t'a visiblement pas effleuré

    Pour rappel, même avec Gcc3.xx, il y a eu pas mal de versions de Qt qui nécessitaient de redéclarer certaines fonctions parce qu'elles étaient utilisées mais que l'insertion des fichiers ne les prenait pas en compte
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Compilation statique, les bibliothèques ne suivent pas
    Par humitake dans le forum Débuter
    Réponses: 14
    Dernier message: 08/12/2011, 16h09
  2. Réponses: 4
    Dernier message: 18/12/2007, 21h54
  3. Les bibliothèques
    Par vincent0 dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 15/08/2006, 16h36
  4. Les bibliothèques dans l'esprit Open (liens)
    Par shenron666 dans le forum API graphiques
    Réponses: 0
    Dernier message: 07/06/2005, 12h34
  5. [Tomcat]comment compiler les servlets sous eclipse et tomcat
    Par boussaad dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 31/03/2005, 15h29

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