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:
J'ai fini par m'apercevoir que dans le Makefile généré, il me fallait ajouter
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
-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
que je ne comprend pas. Small-config, n'est-ce pas pour de l'embarqué?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Some of the required modules (small-config) are not available. Skipped.
Ce paquet dépend pourtant de libqt3-mt-dev, la suite qmake, make devrait donc suffire.
En vous remerciant,
--
SaintAmand
Partager