Ufx*_*Ufx 6 c++ qt qmake qt5 qtwidgets
我想编译Qt示例.我得到错误QtWidgets:没有这样的文件或目录#include
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - does not help
QT += widgets - does not help
INCLUDEPATH += /opt/Qt/5.3/Src/qtbase/include/ - does not help
Run Code Online (Sandbox Code Playgroud)
Qt 5.3.Ubuntu 14.04 x64.
您需要仔细检查是否已完成所有这些步骤:
已安装模块
greaterThan(QT_MAJOR_VERSION,4):QT + =小部件
你重新运行Qt 5 qmake.
话虽如此,我想提醒您,包括整个模块并不是一个好主意,因为它包含所有与小部件相关的内容.尝试将其缩小到您真正需要的标题.
正如您注意到Qt目录结构在Qt4和Qt5之间发生了变化.QWidget标头移动到QtWidgets目录.尝试添加
INCLUDEPATH += /opt/Qt/5.3/Src/qtbase/include/QtWidgets
Run Code Online (Sandbox Code Playgroud)
如果这无助于尝试手动查找标题
find /opt/Qt/5.3/Src/qtbase/ -name QWidget
Run Code Online (Sandbox Code Playgroud)
以及它在INCLUDEPATH中的目录
根据最终比赛的评论进行编辑.
我同意解决方法通常是一个坏主意.要测试安装QT在哪里查找qt5标头和库.创建一个最小的项目.
#include <QApplication>
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget w;
w.show();
app.exec();
}
Run Code Online (Sandbox Code Playgroud)
生成项目并添加QT + =小部件
/opt/Qt/5.3/Src/qtbase/bin/qmake -project
Run Code Online (Sandbox Code Playgroud)
项目文件
######################################################################
# 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
Run Code Online (Sandbox Code Playgroud)
生成一个make文件
/opt/Qt/5.3/Src/qtbase/bin/qmake
Run Code Online (Sandbox Code Playgroud)
有趣的部分小部件标志添加:
应该有所不同的唯一部分是QtWidgets和QtGui的路径.如果这些错了,我会尝试重新安装Qt.