QMainWindow: Нет Такого Файла Или Каталога
Я использую Qt Creator 3.5.1 и QT 4.8.2 на хост-машине Ubuntu 14.04 LTS, я настроил свой комплект BeagleBone для кросс-компиляции ARM следующим образом:
Я эти шаги, но я получаю ошибку при попытке скомпилировать проект QT по умолчанию
Я что-то пропустила? Если он не найден, он не находится в том месте, где ищет компилятор. как это исправить это?
вот мой файл проекта
5 ответов
Mybe произошла какая-то ошибка при построении qt из источника, или чего-то не хватает. Попробуйте экземпляр QMainWindow поиск.h в qt включают dir. Кажется, это в /usr/local/qt4.8.2-armhf/include
. Например, вы можете искать вот так find * /usr/local/qt4.8.2-armhf/include/ | grep QMainWindow
.
использование Qt 5.8.0 на Win 7 / MSVC2015x64bit;
у меня была та же проблема, и я нашел способ ее исправить, даже если она не самая умная:
1) Откройте имя проекта.pro файл
2) между
QT += core gui
и
greaterThan(QT_MAJOR_VERSION, X): QT += widgets
вставить QT += widgets
так что эта часть выглядит примерно так:
...
QT += core gui
QT += widgets
greaterThan(QT_MAJOR...
сохранить и закрыть .pro файл и ждать Qt для автоматического чтения
файл-изменяет и обновляет себя.
(Если у вас есть deaktivated это попробовать перезапустить Qt)
а также это-замена " X " на greaterThan(QT_MAJOR_VERSION, X): QT += widgets
с номером предварительной версии отлично работает для меня. (X = your_major_version - 1
)
(в случае использования Qt 5.X поместите 4 вместо 5, используя Qt 3.X заменить 3 на 2 и так далее...)
Я не знаю, работает ли это также для других платформ...
Я надеюсь, что смогу помочь хотя бы 1 человеку, у которого такая же проблема. ;)
Приветствую Zitro
прежде всего вам нужно убедиться, что кросс-компилятор работает,
компиляция hello world:std::cout << "hi\n"
и запустить на устройстве с помощью cross comipler gcc из командной строки.
второй шаг - убедиться, что qmake из cross compiled Qt работает так, как ожидалось, запустите /usr/local/qt4.8.2-armhf/bin/qmake path/to/your/pro/file && make
если все работает, то следующий шаг
В-третьих, наконец настройте Qt Creator
посмотреть здесь: http://developer.toradex.com/how-to/how-to-set-up-qt-creator-to-cross-compile-for-embedded-linux
вам нужно установить sysroot в правильное значение, например, в моем случае это:
/usr/местные/oecore-i686 в/sysroots/armv7ahf-ВФП-неон-Ангстрем-ОС linux-gnueabi/
внутри этого каталога есть " bin " и "lib", полные исполняемых файлов arm и библиотек arm, это то, что "sysroot", это часть вашей файловой системы устройства, клонированной к вашему кросс-компилятор, который поможет вам связать ваши приложения. Также убедитесь, что вы установили правильный путь к qmake для кросс-компиляции в настройках Qt creator, он должен выглядеть так:/usr/local/qt4.8.2-armhf/bin/qmake
возможно, ваша версия Qt Creator устарела. Проекты могут быть повреждены при установке несовместимой с ними версии Qt Creator. Вы можете скачать последнюю версию Qt Creator в центре программного обеспечения.
Вам также необходимо убедиться, что ваш QT обновлен. Проверьте с помощью программы обновления.
Я нашел это; возможно, вы захотите взглянуть на него: derekmolloy.ie/beaglebone/qt-with-embedded-linux-on-the-beaglebone/#Source_Code