Vous n'avez certainement pas besoin d'utiliser QtCreator pour écrire un programme Qt.
Vous n'êtes pas obligé d'utiliser qmake
mais vous risquez des problèmes en ne l'utilisant pas.
Pour faire quelque chose d'intéressant avec Qt, vous finirez inévitablement par créer une sous-classe de QObject
. Toutes ces sous-classes nécessitent le macro Q_OBJECT
dans leur définition, ce qui active la syntaxe signal/slot. Cette syntaxe n'est pas du C++ normal et ne peut pas être compilée avec g++. Les fichiers contenant des définitions de classe avec Q_OBJECT
doivent être passés par le compilateur de méta-objets de Qt appelé moc
. Cela signifie que vous devez déterminer quels fichiers doivent être traités avec moc
, puis exécuter moc
dessus, et enfin compiler le fichier cpp résultant avec g++
. C'est la raison pour laquelle Qt fournit qmake
. Il génère les règles correctes dans le Makefile pour vous.
Les fichiers de projet .pro de Qt sont vraiment très faciles à travailler et je vous recommande sérieusement de les utiliser. Rappelez-vous, qmake
est un outil en ligne de commande tout comme g++
. De plus, il peut réellement créer un fichier de projet squelette pour vous en fournissant l'option -project
donc pour débuter vous pouvez simplement faire
qmake -project
qmake
make
et vous avez terminé. En pratique, je trouve que le fichier de projet généré peut ne pas inclure la déclaration de toutes les bibliothèques Qt supplémentaires que j'utilise, donc vous pourriez avoir à ajouter une ligne comme
QT += opengl
si, par exemple, vous avez inclus quelque chose comme QGLWidget
.