我刚开始使用 Qt(在 C++ 中),所以我遵循了我在网上找到的“hello, world”示例。我在 hello 目录中创建了程序 hello.cpp:
#include <QtGui>
int main(int argc, char *argv[]) {
QApplication app (argc, argv);
QLabel label ("Hello, world!");
label.show();
return app.exec();
}
我跑了:
qmake -project
qmake hello.pro
make
一切都正确编译,我能够运行./hello。然后,作为一个喜欢冒险的人,我尝试修改文件:
#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();
}
我重新运行了三个命令,但是现在运行 make 时出现以下错误:
hello.cpp:2: fatal error: QtWebKit: No such file or directory
compilation terminated.
make: *** [hello.o] Error 1
我检查了 Makefile 并且 INCPATH 变量被定义为
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.
它明显缺少 -I/usr/include/qt4/QtWebKit。LIBS 变量也缺少 -lQtWebKit。手动添加这些会导致编译成功。我究竟做错了什么?我需要添加什么才能使 qmake 生成正确的 Makefile?