RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016
-
25 août 2008 à 09:05
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
26 août 2008 à 14:11
Bonjour,
je suis en train d'essayer de créer un widget perso dérivé d'un QPushButton
Je souhaite utiliser les slots, et surtout les signals, et donc, il faut rajouter la macros Q_OBJECT, mais je n'y arrive pas, il y a des erreurs à la compile dès que je rajoute cette macro. ça fait un certain temps que je cherche et j'ai vu qu'il fallait rajouter une commande de précompilation (moc -o file.moc file.h) sur tous les .h qui contenait la macro Q_OBJECT dans la déclaration, ce que j'ai fait dans Code::Blocks et les prorpiété du projet. Il faut aussi inclure le .moc du coup à la fin de chaque .h, comme je l'ai fais. Malheureusement, je me retrouve avec d'autres erreurs, à priori, pendant la génération du .moc...
voilà les codes, j'ai enlevé les lignes signals et slots, puisque ce n'est pas elles qui posent problème, c'est vraiment dès que je rajoute Q_OBJECT.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 26 août 2008 à 14:11
Salut,
"D:\C++\testMyButton\MyButton.h|4|QObject: No such file or directory"
Erreur dans MyButton.h, ligne 4, QObject : Pas de fichier ou répertoire portant ce nom là.
Ligne 4 de ton fichier, il semblerait que l'on trouve : #include <QObject>
Donc "je sais pas quoi" ne trouve pas QObject.
Je suppose que tu as downloadé QT. Quelque part dans ce que tu as récupérer (Probablement dans un répertoire include), tu dois avec ce fichier (Le fichier QObject, sans extension).
Quand tu veux utiliser une librairie comme ça, il faut mettre en entrée du compilo le répertoire contenant les .h (Souvent dans un dossier include), et mettre en entrée du lieur le répertoire contenant les libs (Contenant les .o, .a, .lib, souvent dans un dossier lib). C'est à quelques variantes près toujours le même système.
Sous Code::Blocks, Project->Build options->search directory
Et là tu as les chemins de recherche du compilo et du lieur.
Si tu n'as qu'un .lib dans le rep lib de QT, il faut l'ajouter dans l'onglet linker settings.