Я хочу скомпилировать пример 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
Qt 5.3. Ubuntu 14.04 x64.
Вы должны дважды проверить, что вы выполнили все эти шаги:
Модуль установлен
moreThan (QT_MAJOR_VERSION, 4): QT + = виджеты
Вы перезапустите Qt 5 qmake.
Сказав это, я хотел бы напомнить вам, что включать весь модуль не очень хорошая идея, поскольку он включает в себя все связанные с виджетами вещи. Попробуйте сузить его до заголовков, которые вам действительно нужны.
Как вы заметили, структура каталогов Qt изменилась между Qt4 и Qt5. Заголовок QWidget перемещен в каталог QtWidgets. Попробуйте добавить
INCLUDEPATH += /opt/Qt/5.3/Src/qtbase/include/QtWidgets
Если это не помогает, попробуйте найти заголовок вручную, используя
find /opt/Qt/5.3/Src/qtbase/ -name QWidget
и и каталог, в котором он находится, чтобы включить
Редактировать на основе комментариев от финального конкурса.
Я согласен, что обходные пути, как правило, плохая идея. Чтобы проверить, где 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
Флаг интересного виджета добавляет:
Единственная часть, которая должна отличаться, это пути к QtWidgets и QtGui. Если это неправильно, я бы попробовал переустановить Qt.
Все это выглядит очень неправильно, и у меня была та же самая проблема с 5.6, но ответ мог быть намного проще.
Если вы загружаете много примеров, вы можете сначала прийти к редактору или к тому, кем вы были, в первую очередь. Если пример был загружен в первый раз, его нужно будет «настроить», который находится на боковой вкладке проекта, которая должна представить вам «Настроить», а не «Построить» & Бежать’. То, что он не всегда прыгает прямо, есть недостаток, но также и включение примеров без поддержки по умолчанию (Desktop OpenGL и iOS для двоих).
Пока это не сделано, он не разрешит никаких зависимостей вне непосредственного проекта, так как используемые библиотеки зависят от того, какой компилятор / цель используется (например, MSVS, GNUCC, MinGW, 32 / 64bit).