Je viens de commencer à travailler avec Qt (en C++), donc j'ai suivi un exemple de "bonjour, monde" que j'ai trouvé en ligne. J'ai créé le hello.cpp du programme dans le répertoire bonjour:QtWebKit dépendance manquante de qmake généré Makefile
#include <QtGui>
int main(int argc, char *argv[]) {
QApplication app (argc, argv);
QLabel label ("Hello, world!");
label.show();
return app.exec();
}
J'ai couru:
qmake -project
qmake hello.pro
make
et tout compilé correctement et je pouvais courir ./hello. Ensuite, être une personne aventureuse, j'ai essayé de modifier le fichier:
#include <QtGui>
#include <QtWebKit>
int main(int argc, char *argv[]) {
QApplication app (argc, argv);
QLabel label ("Hello, world!");
QWebPage page;
label.show();
return app.exec();
}
Je rediffusé les trois commandes, mais maintenant, quand je lance make je reçois l'erreur suivante:
hello.cpp:2: fatal error: QtWebKit: No such file or directory
compilation terminated.
make: *** [hello.o] Error 1
J'ai vérifié le Makefile et la variable INCPATH a été définie comme
INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I.
Il est sensiblement manquant -I/usr/include/Qt4/QtWebKit. La variable LIBS manquait également -lQtWebKit. Les ajouter manuellement entraîne la réussite de la compilation. Qu'est-ce que je fais mal? Que dois-je ajouter pour que qmake génère le Makefile correct?
Merci. Est-ce que "QT + = webkit" est le format standard? Si je voulais aussi ajouter QtXml, devrais-je ajouter "QT + = xml" ou "QT + = webkit, xml"? – Nick
@Nick: mis à jour ma réponse – Mat