Qt > Probleme contrariant

Résolu
shorzy Messages postés 94 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 1 juin 2013 - 24 août 2009 à 12:13
shorzy Messages postés 94 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 1 juin 2013 - 25 août 2009 à 01:48
"Hello World"
Je débute à peine dans Qt.
J'ai essayé un Exemple tous Bête :
C'est un exempla fournit officiel de chez "Qt"
http://doc.trolltech.com/4.3/widgets-analogclock.html


Et Voila l'Erreur de Compilation qui apparait :
\...\MinGW\...\locale_facets.tcc 2499 undefined reference to `vtable for AnalogClock'

C'est quoi vtable ...
AnalogClock est mon Widget (pour ceux qui ne sont pas aller voir l'exemple.)

C'est quoi cette Erreur, J'ai tout fait comme il fallait (Copier/Coller leurs Fichiers ...)
Me Manque t-il des Fichiers quand J'ai installer QT ou Code::Block


Merci de vos coups de mains, je reste au Niveau 0 sinon.

++

10 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
24 août 2009 à 22:37
Si tu veux faire du QT, je ne peux que te conseiller d'utiliser QTCreator ! L'IDE fait en QT pour du QT ! Ca gère vraiment bien tout ce qui est propre à QT et propose une complétion pour les "features" de celui-ci. De plus il est vraiment très personnalisable.
3
shorzy Messages postés 94 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 1 juin 2013
24 août 2009 à 16:06
Je crois Avoir Identifier le Problème...
ça vient de :
//Q_OBJECT
pourtant ma Classe Dérive bien de QWidget


J'ai la Version 4.5.2 de QT
Est ce que le Problème vient de la Version de QT ???
0
shorzy Messages postés 94 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 1 juin 2013
24 août 2009 à 18:18
Oki... Suite de mes Investigations...
C'est très con !!!
En Inserant la MACRO : Q_OBJECT , le Langage C++ s'en retrouve Fortement Modifié. (C++ ->)
Il faut donc Réaliser "qmake" 'qui Génère un Fichier Intermediaire.
Puis il me "Suffit" de faire un qmake

Mais comment Réaliser la Commande qmake sous Code::Block ???

[ WindowXP - Code::Block - QT4.5.2 ]

Merci:

Je vais Finir par Compléter mon propre Post à la Force de mes Bras !!!
Mais bon, je me dit que ça peut quand même servir à quelques Ames en peine qui passerait par là
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
24 août 2009 à 18:31
Salut,

Je viens de remplacer le titre de ta discussion par un autre un peu plus politiquement correct...

La vtable est un tableau des méthodes virtuelles de la classe. Chaque instance de la table possède un pointeur sur la vtable de sa classe. Cela permet d'appeler une méthode surchargée par une classe fille en la traitant comme si c'était une classe parente. Suppose que tu es B et C qui héritent de A et qui surchargent la méthode virtuelle FaitUnTruc proposée par A. Tu peux stocker tes instances de B et C dans un tableau de pointeur typé A. Tu peux alors appeler FaitUnTruc sur tous les éléments de ton tableau vu quel est proposée par A (C'est du polymorphisme). En interne le compilo va regarder l'adresse de la méthode (Celle de B ou C) dans la vtable.

Pas sûr d'avoir été clair et encore moins de t'avoir aidé, mais l'intention est là.

Regarde éventuellement s'il faut que tu surcharges des méthodes de QWidget, si c'est classe à des méthodes virtuelles pures (= 0)...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
24 août 2009 à 18:35
Ah ok.

Project->Build options...
Puis onglet Pre/post build step. Tu ajoutes un pre build step.
0
shorzy Messages postés 94 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 1 juin 2013
24 août 2009 à 23:39
Enfin Quelqun, Merci
1) Mais je Tape quoi dans "pre build..."

2) J'ai lu qu'il fallait Lancer le cmd fournit avec Qt :
- Il ne reconnais pas qmake (Alors qu'il est fait pour...)
- puis j'ai lancer le cmd "Build Debug Librairie" :
(Qui m'a 'Craché' ça :)

/.../

Creating qmake...
execute: File or path is not found (mingw32-make)
execute: File or path is not found (mingw32-make)
Cleaning qmake failed, return code -1

Le chemin d'accès spécifié est introuvable.
'qmake' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
'mingw32-make' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.


Que faire ???
J'ai Installé :
qt-win-opensource-4.5.2-mingw.exe

Pourquoi qmake marche pas ?!?!
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
24 août 2009 à 23:51
S'il ne trouve pas qmake, vérifie que tu as bien ajouté le dossier ou se trouve le binaire qmake dans ton PATH. (Variable d'environnement à mettre à jour).
http://doc.trolltech.com/4.2/install-win.html
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
24 août 2009 à 23:53
Ici, voici un lien ou télécharger le SDK QT, c'est à dire un installateur qui installe et configure tout (environnement, qt, ide):
https://qt.nokia.com/downloads/sdk-windows-cpp
0
shorzy Messages postés 94 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 1 juin 2013
25 août 2009 à 00:38
Merci de m'aidé CptPingu
Comme tu vois je suis sur mon problème depuis 12h13

J'ai lancer et Executé QtCreator !
Je ne peux même pas compilé un Exemple !!!!

(En cliquant sur 'RUN')

Ou alors, je fais :
1- Build/Run qmake (Se passe Bien)
2- Run (Plantage Code 2 : cannot find -lQtGuid4)
Que dois je faire
0
shorzy Messages postés 94 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 1 juin 2013
25 août 2009 à 01:48
Réponse en partie Accepter de CptPingu.

Après quelques Heurt du SDK j'ai Tout désinstallé, et surtout REINSTALLER dans un dossier dont le chemin était plus Court, et sans Accent
(ça a peu être jouer )

Maintenant ça Marche avec le SDK
https://qt.nokia.com/downloads/sdk-windows-cpp

Demain je rechercherais en Installant juste le FrameWork
et en Compilant avec Code::Block

Je Posterais pour vous Donner une Soluce, vous pouvez tjrs Poster si vous avez des Commentaire.
++ et Encore MERCI !!!
0
Rejoignez-nous