正如您注意到的那样,Qt 目录结构在 Qt4 和 Qt5 之间发生了变化。QWidget 标头移动到 QtWidgets 目录。尝试添加
INCLUDEPATH += /opt/Qt/5.3/Src/qtbase/include/QtWidgets
如果这无济于事,请尝试使用手动查找标题
find /opt/Qt/5.3/Src/qtbase/ -name QWidget
以及它所在的目录 INCLUDEPATH
根据最终竞赛的评论进行编辑。
我同意变通办法通常是一个坏主意。测试你的安装在哪里寻找 qt5 头文件和库。创建一个最小的项目。
#include <QApplication>
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget w;
w.show();
app.exec();
}
生成项目并添加 QT += 小部件
/opt/Qt/5.3/Src/qtbase/bin/qmake -project
项目文件
######################################################################
# Automatically generated by qmake (3.0) Thu Jul 10 13:05:17 2014
######################################################################
TEMPLATE = app
TARGET = so_qtwidgets
INCLUDEPATH += .
QT += widgets
# Input
SOURCES += main.cpp
生成make文件
/opt/Qt/5.3/Src/qtbase/bin/qmake
有趣的部件小部件标志添加:
- 在我的情况下 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui 到 INCPATH
- -DQT_WIDGETS_LIB 到 DEFINES 变量。
- -lQt5Widgets -lQt5Gui 到库。
唯一不同的部分是 QtWidgets 和 QtGui 的路径。如果这些是错误的,我会尝试重新安装 Qt。