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

Linux Discussion :

Compilation d'un prog. avec qt3 (version threaded)


Sujet :

Linux

  1. #1
    Membre actif Avatar de SaintAmand
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Points : 203
    Points
    203
    Par défaut Compilation d'un prog. avec qt3 (version threaded)
    Bonjour,

    Je viens de me mettre à qt3. J'ai bien sur commencé par un hello world. Celui qui est fourni dans le paquet qt3-examples de ma debian sarge . Il m'a fallut une journée pour trouver à le compiler.
    En effet, comme indiqué dans la documentation, j'ai utilisé qmake -projet, suivi de qmake puis make. Ce qui me donnait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    g++  -o qt main.o    -L/usr/X11R6/lib -lXext -lX11 -lm
    main.o(.text+0x30): In function `main':
        : undefined reference to `QApplication::QApplication[in-charge](int&, char**)'
    main.o(.text+0x41): In function `main':
        : undefined reference to `QString::QString[in-charge](char const*)'
    main.o(.text+0x5f): In function `main':
    ............................................................................................
    main.o(.gnu.linkonce.r._ZTI6QGList+0x8): undefined reference to `typeinfo for QPtrCollection'
    collect2: ld a retourné 1 code d'état d'exécution
    make: *** [qt] Erreur 1
    J'ai fini par m'apercevoir que dans le Makefile généré, il me fallait ajouter
    -lqt-mt à LIBS car j'utilise la version "threaded".

    Comment faut-il faire pour que -lqt-mt soit automatiquement ajouté à mon makefile ?

    J'ai essayé d'ajouter thread à la variable CONFIG dans le qmake.conf, ou dans le .pro suivant les indications d'un site. Cela ajoute -lpthread à la variable LIBS de mon makefile et bien sur la compilation génère les mêmes erreurs.

    J'ai aussi essayé avec le .pro fourni avec l'exemple. J'obtient un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Some of the required modules (small-config) are not available.
    Skipped.
    que je ne comprend pas. Small-config, n'est-ce pas pour de l'embarqué?
    Ce paquet dépend pourtant de libqt3-mt-dev, la suite qmake, make devrait donc suffire.

    En vous remerciant,

    --
    SaintAmand

  2. #2
    Membre actif Avatar de SaintAmand
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Points : 203
    Points
    203
    Par défaut
    J'ai trouvé une solution provisoire. J'ai recopié /usr/share/qt3/.qmake.cache dans mon $HOME, et j'ai ajouté -lqt-mt à la variable LIBS.
    Mais je ne suis pas sûr que cela soit très académique.

    --
    SaintAmand

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

Discussions similaires

  1. Compiler un prog avec python et scons
    Par lawachekyry dans le forum Déploiement/Installation
    Réponses: 2
    Dernier message: 19/06/2008, 15h57
  2. compilation prog avec wxwidget sous eclipse
    Par grabriel dans le forum Eclipse C & C++
    Réponses: 7
    Dernier message: 08/04/2008, 16h39
  3. Compilation d'un prog C++, avec bibliotheque.
    Par inh40 dans le forum C++
    Réponses: 5
    Dernier message: 01/04/2007, 18h42
  4. compilation de sources avec plusieurs version de JDK
    Par DanielW33 dans le forum Maven
    Réponses: 8
    Dernier message: 16/08/2006, 19h59

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