Как вы заметили, структура каталогов Qt изменилась между Qt4 и Qt5. Заголовок QWidget перемещен в каталог QtWidgets. Попробуйте добавить
INCLUDEPATH += /opt/Qt/5.3/Src/qtbase/include/QtWidgets
Если это не поможет, попробуйте найти заголовок вручную, используя
find /opt/Qt/5.3/Src/qtbase/ -name QWidget
и каталог, в котором он находится, в INCLUDEPATH
Изменить на основе комментариев из Final Contest.
Я согласен, что обходные пути обычно плохая идея. Чтобы проверить, где QT ваша установка ищет заголовки и библиотеки 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.
person
Tobias
schedule
10.07.2014