Содержание
- Fatal error qapplication no such file or directory
- Ошибка QApplication: нет такого файла или каталога
- 12 ответы
- Ошибка QApplication: нет такого файла или каталога
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Ответ 9
- Ответ 10
- фатальная ошибка: QtGui / QApplication: нет такого файла или каталога |
- Решение
- Другие решения
- Ошибка QApplication: нет такого файла или каталога
- 10 ответов
Fatal error qapplication no such file or directory
I got Qt5 installed on Opensuse 12.2.
I tried to compile some example project that compiled successfully on Qt 4.8.
Now I get error message «QApplication: No such file or directory»
I think the PATH to library is missing while I installed locally on /home/
Where should I edit?
How do you include QApplication header? In Qt5, it resides in , while in Qt4 it was .
I think the module isn’t added in .pro file, so did you added QT += widgets in your .pro file?
//anyway if the module is added the header can be included with #include you don’t need or in Qt4 (that works with both Qt4 and 5)
Adding QT += widgets in .pro file made the trick. Thanks.
Why does qmake not include these, or what must one do in the source to ensure qmake auto generates this line in the .pro file ?
qmake will never generate anything in your .pro file. Those files are config files for qmake to use, not the other way around. If you create a new project in recent versions of Qt Creator, this line will be added for you in standard app template.
Ooh ok, that make more sense now, thanks for the reply.
Sorry for hijacking the thread by the way 😀
The «Adding QT += widgets in .pro file» really helped me as well. Thanks.
I’m happy, too. I solved.
Why qmake —project is doing a so simple task in a wrong way?
can qmake -project add «QT += widgets» to .pro automatically ?
Just to say what happened to be my problem, it was a dumb error:
I was following a guide that had me open an empty QT project, which gave me a .pro file but left it empty. I had filled in some data and «TEMPLATE = application» as they has mentioned it. I already had the «widgets» line but it still couldn’t find the library as I included it in the .cpp file. When I changed it to «TEMPALTE = app» the .pro file was parsed, and the file to include resolved correctly (QApplication).
@sierdzio
I have add to mainwindow.h file and
QT += widgets in .pro file but still «error : No such file or directory» occurs .
Источник
Ошибка QApplication: нет такого файла или каталога
Я установил C ++ SDK с Qt, но когда я пытаюсь скомпилировать код, связывающий QApplication, он выдает ошибку:
Как связать эти библиотеки? Я поискал в каталогах и нашел файл с именем QApplication.h; Поэтому я попытался связать его с -I (ссылка на каталог), но он все еще давал мне эту ошибку.
Ramy Al Zuhouri
Название этого вопроса. Источник — простой файл, я подумал, что мне не нужно его публиковать, а просто: pastebin.com/972XtFUz — Ramy Al Zuhouri
Каков результат $locate QApplication ? — Abhijeet Rastogi
/ home / ramy / Documents / C ++ QtSDK / Desktop / Qt / 474 / gcc / include / QtGui / QApplication /home/ramy/Documents/C++QtSDK/Madde/sysroots/harmattan_sysroot_10.2011.34-1_slim/usr/include / qt4 / QtGui / QApplication / home / ramy / Documents / C ++ QtSDK / Simulator / Qt / gcc / include / QtGui / QApplication / usr / include / qt4 / QtGui / QApplication — Ramy Al Zuhouri
В комментариях я сказал вам написать run $qmake -project -d -Wall и вы включили $ при выполнении команды. Исключить 5 , это было просто, чтобы сказать вам, что это команда, которую вы должны написать в оболочке — Abhijeet Rastogi
ОТЛАДКА 1: анализатор проекта: /usr/share/qt4/mkspecs/features/include_source_dir.prf:1: INCLUDEPATH:: * =: (.) - Ramy Al Zuhouri
12 ответы
В Qt 5 вам теперь нужно добавить widgets до QT qmake переменная (в вашем MyProject.pro файл).
ответ дан 23 мар ’18, в 15:03
Да, если вы используете qmake, указанная выше строка автоматически добавит все необходимые флаги компилятора. — Тимммм
@Timmmm хорошо, если я новичок в QT Creator, я действительно не понимаю, где добавить эту строку, что такое переменная qt qmake? какой-то конфигурационный файл проекта или настройки? (это может быть что угодно, пока не знаю) — user924
Добавлен виджет в переменную QT, я все еще получаю это сообщение об ошибке. — Степан Яковенко
Для начала ошибка QApplication: no such file or directory означает, что ваш компилятор не смог найти этот заголовок. Это не связано с процессом связывания, как вы упомянули в вопросе.
Компания -I флаг (верхний регистр i) используется для указания каталога include (заголовков) (это то, что вам нужно сделать), в то время как -L Флаг используется для указания каталога библиотек. В -l флаг (L в нижнем регистре) используется для связывания вашего приложения с указанной библиотекой.
Но вы можете используйте Qt в ваших интересах: Qt имеет систему сборки с именем QMAKE что упрощает жизнь. Например, когда я хочу скомпилировать main.cpp Я создаю main.pro файл. В образовательных целях предположим, что этот исходный код представляет собой простой проект, в котором используются только QApplication и QDeclarativeView . Соответствующий .про файл будет:
Затем выполните qmake внутри этого каталога для создания Makefile, который будет использоваться для компиляции вашего приложения, и, наконец, выполнить make чтобы выполнить работу.
В моей системе это make выходы:
Примечание: я установил Qt в другой каталог -> /opt/qt_47x
Изменить: Qt 5.x и новее
Добавить QT += widgets в файл .pro и решите эту проблему.
Источник
Ошибка QApplication: нет такого файла или каталога
Я установил С++ SDK, у которого есть Qt, но когда я пытаюсь скомпилировать код, связывающий QApplication, он дает мне ошибку:
Как связать эти библиотеки? Я искал в каталогах и есть файл с именем QApplication.h; Поэтому я попытался связать его с -I (связать каталог), но он все еще выдавал мне эту ошибку.
ОТВЕТЫ
Ответ 1
Чтобы начать работу, ошибка QApplication: no such file or directory означает, что ваш компилятор не смог найти этот заголовок. Это не связано с процессом связывания, как вы упомянули в вопросе.
Флаг -I (верхний регистр i) используется для указания каталога include (headers) (что вам нужно делать), а флаг -L используется для указания библиотеки. Флаг -L (нижний регистр L) используется для связывания приложения с указанной библиотекой.
Но вы можете использовать Qt в своих интересах: Qt имеет систему сборки с именем qmake, что упрощает работу. Например, когда я хочу скомпилировать main.cpp, я создаю файл main.pro. Для образовательных целей, скажем, этот исходный код — простой проект, который использует только QApplication и QDeclarativeView . Соответствующим .pro файлом будет:
Затем выполните qmake внутри этого каталога, чтобы создать Makefile, который будет использоваться для компиляции вашего приложения, и, наконец, выполнить make , чтобы выполнить задание.
В моей системе этот make выводит:
Примечание. Я установил Qt в другой каталог → /opt/qt_47x
Ответ 2
В Qt 5 вам нужно добавить widgets в переменную qmake QT :
Ответ 3
Для QT 5
Шаг 1: .pro (в про файле добавьте эти 2 строки)
Шаг 2: В main.cpp заменить код:
Ответ 4
Похоже, что у вас нет установленных библиотек разработки. Установите их, используя:
Как вы сказали int, комментарии, которые вы их установили, просто переустановите. Теперь. для обновления базы данных локации выполните эту команду $sudo updatedb
Затем $locate QApplication , чтобы проверить, что у вас теперь установлен файл заголовка.
Теперь перейдите в папку, в которой у вас есть код, и введите эти команды
Затем вы можете найти созданный двоичный файл.
В качестве альтернативы вы можете использовать Qt Creator, если хотите графический интерфейс.
Ответ 5
Пожалуйста, убедитесь, что версия qmake, которую вы используете, соответствует версии QT, которую вы хотите использовать.
Конечно, вы можете просто запустить:
Ваша проблема, по-видимому, является симптомом конфликта версий между QT 3 и 4, как можно видеть здесь:
Чтобы исправить это, вы можете либо удалить свою старую установку QT, либо конкретно указать qmake-qt4 в своем файле Makefile.
Ответ 6
В Qt5 вы должны использовать QtWidgets вместо QtGui
Ответ 7
вам нужно добавить QT + = виджеты в файле .pro перед первым исполнением, если вы выполнили перед добавлением этой строки, это не сработает, поэтому вам нужно начать создание файла с самого начала.
Ответ 8
Я предлагаю вам обновить SDK и начать новый проект и перекомпилировать все, что у вас есть. Кажется, у вас есть некоторые внутренние ошибки программы. Или вам не хватает пакета.
И делайте то, что сказал Абдиджик.
Ответ 9
Убедитесь, что у вас есть qmake на вашем пути (который qmake) и что он работает (qmake -v) (ЕСЛИ вы должны убить его ctr-c, тогда в вашей среде что-то не так).
Ответ 10
Вы можете изменить версию версии. Например, я попробовал QT 5.6.1, но это не сработало. Во-первых, я пробовал QT 5.7.0. Так оно и работало, удачи!:)
Источник
фатальная ошибка: QtGui / QApplication: нет такого файла или каталога |
Перво-наперво, да, я сделал тщательный поиск десятков постов с одинаковыми именами, и мое решение либо не было там, либо не было очевидно из-за моего ограниченного знания этой темы.
Я довольно опытный в C ++, и использую его часто, но я буквально только что открыл QT и решил попробовать его. Ошибка очень простая, я предполагаю, что я сделал что-то очень основное неправильно.
Что я использую:
- Последняя версия CodeBlocks
- Последняя версия QT
- Кусок примера кода из этой темы 🙁Показать QImage с QtGui ).
- Блоки кода установлены здесь: C: Program Files (x86) CodeBlocks
- MinGW здесь: C: MinGW bin
- QT здесь: C: Qt 4.8.5 bin
Вот мой полный путь к среде:
Из поста, на который я ссылался, звучит так, будто это полная и работающая программа (я заменил изображение своим собственным изображением), что еще больше укрепляет мое мнение о том, что я глупый, но глубокий.
Полный журнал ошибок из CodeBlocks построить и запустить:
Полный журнал сборки:
Пожалуйста, не предполагайте, что я ничего не предоставил, я чрезвычайно новичок в установке всего этого и не буду обижаться даже на самые простые вопросы.
Решение
У меня была такая же проблема на Fedora Linux. Я решил, изменив строку импорта на
и вместо того, чтобы использовать qmake (который использует QT3) он должен был использовать qmake-qt4 (для QT4).
Другие решения
У меня была похожая проблема при обновлении с Qt4 до Qt5. Я знаю, что ваш путь говорит Qt 4.8.5, но, возможно, у вас установлено несколько версий. Ваше сообщение датировано 2013-07-09, а версия Qt 5.0 была выпущена 2012-12-09.
Источник
Ошибка QApplication: нет такого файла или каталога
Я установил С++ SDK, у которого есть Qt, но когда я пытаюсь скомпилировать код, связывающий QApplication, он дает мне ошибку:
Как связать эти библиотеки? Я искал в каталогах и есть файл с именем QApplication.h; Поэтому я попытался связать его с -I (связать каталог), но он все еще выдавал мне эту ошибку.
10 ответов
Чтобы начать работу, ошибка QApplication: no such file or directory означает, что ваш компилятор не смог найти этот заголовок. Это не связано с процессом связывания, как вы упомянули в вопросе.
Флаг -I (верхний регистр i) используется для указания каталога include (headers) (что вам нужно делать), а флаг -L используется для указания библиотеки. Флаг -L (нижний регистр L) используется для связывания приложения с указанной библиотекой.
Но вы можете использовать Qt в своих интересах: Qt имеет систему сборки с именем qmake, что упрощает работу. Например, когда я хочу скомпилировать main.cpp, я создаю файл main.pro. Для образовательных целей, скажем, этот исходный код — простой проект, который использует только QApplication и QDeclarativeView . Соответствующим .pro файлом будет:
Затем выполните qmake внутри этого каталога, чтобы создать Makefile, который будет использоваться для компиляции вашего приложения, и, наконец, выполнить make , чтобы выполнить задание.
В моей системе этот make выводит:
Примечание. Я установил Qt в другой каталог → /opt/qt_47x
Источник
@jsulm Hello, I am having a similar issue to @Mijaz. I am trying to use Qt 5.11 to cross compile for a STM32MP157c-DK2 development board. I have successfully loaded images to the board from a qml file but my cpp files are riddled with errors including «use of undeclared identifier ‘QCoreApplication’. I have tried adding #include <QApplication> and QT += widgets with no luck. Here is my main.cpp file and my pro file.
main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QApplication>
#include <QLabel>
#include <QQmlEngine>
#include <QTextCodec>
#include <QtGui>
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
const QUrl url(QStringLiteral("qrc:/main.qml"));
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
}, Qt::QueuedConnection);
engine.load(url);
return app.exec();
}
pro file
QT += quick widgets core gui
CONFIG += c++11 qmltypes qt
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Refer to the documentation for the
# deprecated API to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES +=
main.cpp
RESOURCES += qml.qrc
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Additional import path used to resolve QML modules just for Qt Quick Designer
QML_DESIGNER_IMPORT_PATH =
# Default rules for deployment.
#qnx: target.path = /tmp/$${TARGET}/bin
#else: unix:!android: target.path = /opt/$${TARGET}/bin
#!isEmpty(target.path): INSTALLS += target
TARGET = stm32mp1Test
target.files = stm32mp1Test
target.path = /home/root
INSTALLS += target
Thanks for the help.
- Печать
Страницы: [1] Вниз
Тема: QT и c++ (Прочитано 4432 раз)
0 Пользователей и 1 Гость просматривают эту тему.

НеФормат
Привет, всем! Начал учить QT
Первый код:
Вводу g++ index.cpp -o index.bin
Выдаёт:
Пробовал ставить всякие библиотеки, не помогло
P.S. — В QtCretor то же самое
Что делать?

Olej
index.cpp:2:24: fatal error: QApplication: Нет такого файла или каталога
compilation terminated.
…
Что делать?
1. ну так нет же такого файла!
что делать?
2. идти в дефаулт include (/usr/include) и убеждаться, что там нет такого файла…
3. что дальше делать? разбираться какой (qt3, qt4) установлен, установлен ли, и куда (prefix):
[olej@notebook c++]$ env | grep QTа потом убеждаться, что там такой файл действительно есть:
QTDIR=/usr/lib/qt-3.3
QTINC=/usr/lib/qt-3.3/include
QT_IM_MODULE=xim
QTLIB=/usr/lib/qt-3.3/lib
[olej@notebook include]$ ls /usr/lib/qt-3.3/include/qappl*а дальше правильно указывать в команде компиляции
/usr/lib/qt-3.3/include/qapplication.h

4. у вас, скорее всего, qt4 — так ищите где и как он поставлен! — всё дело в путях.
« Последнее редактирование: 26 Февраля 2012, 03:40:42 от Olej »

RazrFalcon
Qt Cretor то же самое
Не может быть.
qt-3.3 — очень смешно, вы его его нарыли-то?

Olej
Qt Cretor то же самое
Не может быть.
qt-3.3 — очень смешно, вы его его нарыли-то?
qt3 — это может и очень смешно (кто понимает, или напротив, кто ничего не понимает) … но только у меня в системе вообще всё, что относится к Qt не ставилось просто, мне оно не надо… то, что показано — это та часть, которая доставлялась по зависимостям с каким-то пакетом из KDE.
Я вам показал как и где искать проблемы с установленным (возможно) у вас Qt:
— ищите пути установки (то, что задаётся prefix при сборке пакета Qt, вами или, скорее, дстрибьюторами вашими)…
— указывайте (как -I, -L, -l) их в опциях gcc, make или в переменных окружения env.

VlaoMao
Можно пойти проще.
В папке с проектом
qmake -projectprofit.
qmake
make

Olej
Можно пойти проще.
В папке с проектомqmake -projectprofit.
qmake
make
конечно, это обычный способ сборки с Qt, но:
— для этого нужно создать проект;
— автор хочет это сделать просто компилятором GCC … с наскоку — но повозиться с такой сборкой имеет смысл (1 раз 

VlaoMao
Для этого НЕ НУЖНО создавать проект, qmake его сам создаст.
После работы qmake в папке будет Makefile, который можно посмотреть/подправить/выучить для своих целей.
$ ls
main.cpp
$ qmake -project && ls
main.cpp qt_ex.pro
$ qmake && ls
main.cpp Makefile qt_ex.pro
« Последнее редактирование: 26 Февраля 2012, 13:35:40 от VlaoMao »

Olej
Для этого НЕ НУЖНО создавать проект, qmake его сам создаст.
Да, это я что-то ступил, уже несколько не смотрел в сторону Qt и со всем, что связано с KDE.
Тем более, то что вы подсказали, показывает как GCC использует специфические установки Qt.
Переписал я по-быстренькому программу нашего топик-спикера под свой «дремучий» 
#include "qapplication.h"
#include <qdialog.h>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QDialog startDialog;
startDialog.setMinimumWidth(200);
startDialog.show();
return app.exec();
}
Очень хорошо видно, как qmake подставляет дефаултные пути для -I и для -L :
[olej@notebook Qt]$ qmake -project
[olej@notebook Qt]$ ls
index.cc Qt.pro
[olej@notebook Qt]$ qmake
[olej@notebook Qt]$ ls
index.cc Makefile Qt.pro
[olej@notebook Qt]$ make
g++ -c -pipe -Wall -W -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronou
g++ -o Qt index.o -L/usr/lib/qt-3.3/lib -lqt-mt -lXext -lX11 -lm
[olej@notebook Qt]$ ls
index.cc index.o Makefile Qt Qt.pro
[olej@notebook Qt]$ ./Qt
^C
В qt4 будет то же, только с другими именами.

VlaoMao
Ну во-первых, Qt != KDE.
А во-вторых надо использовать не
#include "qapplication.h"А
#include <qdialog.h>
#include <QApplication>
#include <QDialog>
$ cat /usr/include/QtGui/QApplicationХотя вполне возможно, что на другой платформе содержимое файла QApplication будет другим, поэтому и надо подключать именно QApplication.
#include "qapplication.h"
Хотя да, возможно в Qt3 и нет отдельного QApplication, есть qapplication.h, не думаю что сейчас кто-то ещё сильно пользуется Qt3.
« Последнее редактирование: 26 Февраля 2012, 14:30:07 от VlaoMao »

Olej
Ну во-первых, Qt != KDE.
конечно Qt != KDE, но если кто-то живёт в другом DE, оконном окружении, например QNOME, да и все другие, то он и не пересекается никаким образом ни с Qt, ни с исполняющей системой Qt… а исполняющая система Qt, в таких случаях, и устанавливается (по зависимостям) при установке чего-то из ПО из комплекта KDE.
ведь в других DE/WM, как вы сами понимаете, есть масса других инструментов построения GUI, когда это нужно по-быстренькому что-то сделать: Tcl/Tk(wish), GTK, wxWidget и др.
только таким образом Qt получается часто косвенно связано с KDE: где KDE — там Qt, а где KDE нет, то на таких рабочих местах часто и Qt нет.
А во-вторых надо использовать не
#include "qapplication.h"А
#include <qdialog.h>#include <QApplication>
#include <QDialog>$ cat /usr/include/QtGui/QApplicationХотя вполне возможно, что на другой платформе содержимое файла QApplication будет другим, поэтому и надо подключать именно QApplication.
#include "qapplication.h"
а вот это неверно!
/usr/include/QtGui — появится только тогда, когда вы специально установите средства разработки Qt, что-то типа пакета qt-develop, если этого не делать, то и каталога такого нет (как и входящих в него файлов).
а вот исполняющая система (инклуды, библиотеки) может устанавливаться с приложениями, и она присутствует всегда, вот те «qapplication.h», на которые именно и указывает -I опция при построении проекта.
Хотя да, возможно в Qt3 и нет отдельного QApplication, есть qapplication.h, не думаю что сейчас кто-то ещё сильно пользуется Qt3.
великое множество существующих и эксплуатируемых пакетов благополучно работают на Qt3, ничего чтоб особо существенного (не с точки зрения разработчика, а эксплуатации) Qt4 так и не принёс (например обещанной производительности), так что многие и многие давние пользователи Linux с появлением KDE4 от него отказались, а автоматом и от использования Qt4.

НеФормат
Ну во-первых, Qt != KDE.
конечно Qt != KDE, но если кто-то живёт в другом DE, оконном окружении, например QNOME, да и все другие, то он и не пересекается никаким образом ни с Qt, ни с исполняющей системой Qt… а исполняющая система Qt, в таких случаях, и устанавливается (по зависимостям) при установке чего-то из ПО из комплекта KDE.
ведь в других DE/WM, как вы сами понимаете, есть масса других инструментов построения GUI, когда это нужно по-быстренькому что-то сделать: Tcl/Tk(wish), GTK, wxWidget и др.
только таким образом Qt получается часто косвенно связано с KDE: где KDE — там Qt, а где KDE нет, то на таких рабочих местах часто и Qt нет.
А во-вторых надо использовать не
#include "qapplication.h"А
#include <qdialog.h>#include <QApplication>
#include <QDialog>$ cat /usr/include/QtGui/QApplicationХотя вполне возможно, что на другой платформе содержимое файла QApplication будет другим, поэтому и надо подключать именно QApplication.
#include "qapplication.h"а вот это неверно!
/usr/include/QtGui — появится только тогда, когда вы специально установите средства разработки Qt, что-то типа пакета qt-develop, если этого не делать, то и каталога такого нет (как и входящих в него файлов).
а вот исполняющая система (инклуды, библиотеки) может устанавливаться с приложениями, и она присутствует всегда, вот те «qapplication.h», на которые именно и указывает -I опция при построении проекта.Хотя да, возможно в Qt3 и нет отдельного QApplication, есть qapplication.h, не думаю что сейчас кто-то ещё сильно пользуется Qt3.
великое множество существующих и эксплуатируемых пакетов благополучно работают на Qt3, ничего чтоб особо существенного (не с точки зрения разработчика, а эксплуатации) Qt4 так и не принёс (например обещанной производительности), так что многие и многие давние пользователи Linux с появлением KDE4 от него отказались, а автоматом и от использования Qt4.
Спасибо, помогло =)

VlaoMao
Ладно, пофиг на все выкладки, всё равно спор ни к чему не приведёт.
а вот это неверно!
/usr/include/QtGui — появится только тогда, когда вы специально установите средства разработки Qt, что-то типа пакета qt-develop, если этого не делать, то и каталога такого нет (как и входящих в него файлов).
а вот исполняющая система (инклуды, библиотеки) может устанавливаться с приложениями, и она присутствует всегда, вот те «qapplication.h», на которые именно и указывает -I опция при построении проекта.
Может в Ubuntu и так, не скажу. Скажу точно насчёт ArchLinux:
$ pkgfile `ls /usr/include/QtGui/*`QtCreatora не видно, все файлы в этом каталоге принадлежат пакету qt. Но опять же, повторюсь, что это актуально только для ArchLinux, в Ubuntu всё может быть по-другому, поэтому я и писал про спор, возможно просто мы друг друга не поняли.
extra/qt
- Печать
Страницы: [1] Вверх
Ubuntu 12.04 LTS
Qt version:
$ qmake -v
QMake version 2.01a
Using Qt version 4.8.1 in /usr/lib/x86_64-linux-gnu
.pro file:
TEMPLATE += app
QT += core gui declarative
SOURCES += qtCppIntegration.cpp
.cpp file:
#include <QApplication>
#include <QQuickView>
#include <QUrl>
int main (int argc, char *argv[])
{
QApplication app(argc, argv);
QQuickView view;
view.setSource(QUrl("/home/...plesQtQuickQML/anchors.qml"));
view.show();
return app.exec();
}
error:
$ make
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4 -I. -o qtCppIntegration.o qtCppIntegration.cpp
qtCppIntegration.cpp:1:24: fatal error: QApplication: No such file or directory
compilation terminated.
make: *** [qtCppIntegration.o] Error 1
asked Sep 30, 2013 at 11:47
Aquarius_GirlAquarius_Girl
21.3k62 gold badges219 silver badges397 bronze badges
2
This did the trick:
sudo apt-get install libqt4-dev
answered Sep 30, 2013 at 12:05
Aquarius_GirlAquarius_Girl
21.3k62 gold badges219 silver badges397 bronze badges
0
For Ubuntu 14.04 if you get the same error:
ABC$ make
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -I. -I/usr/include/qt5 -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. -o textpad.o textpad.cpp
textpad.cpp:1:24: fatal error: QApplication: No such file or directory
#include <QApplication>
^
compilation terminated.
make: *** [textpad.o] Error 1
Try qmake-qt4 and then make. Of course you can get all the QT4 libraries if its not present using:
sudo apt-get install libqt4-dev
answered Oct 12, 2014 at 13:47
iampranabroyiampranabroy
1,6261 gold badge15 silver badges11 bronze badges
Ubuntu 12.04 LTS
Qt version:
$ qmake -v
QMake version 2.01a
Using Qt version 4.8.1 in /usr/lib/x86_64-linux-gnu
.pro file:
TEMPLATE += app
QT += core gui declarative
SOURCES += qtCppIntegration.cpp
.cpp file:
#include <QApplication>
#include <QQuickView>
#include <QUrl>
int main (int argc, char *argv[])
{
QApplication app(argc, argv);
QQuickView view;
view.setSource(QUrl("/home/...plesQtQuickQML/anchors.qml"));
view.show();
return app.exec();
}
error:
$ make
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4 -I. -o qtCppIntegration.o qtCppIntegration.cpp
qtCppIntegration.cpp:1:24: fatal error: QApplication: No such file or directory
compilation terminated.
make: *** [qtCppIntegration.o] Error 1
asked Sep 30, 2013 at 11:47
Aquarius_GirlAquarius_Girl
21.3k62 gold badges219 silver badges397 bronze badges
2
This did the trick:
sudo apt-get install libqt4-dev
answered Sep 30, 2013 at 12:05
Aquarius_GirlAquarius_Girl
21.3k62 gold badges219 silver badges397 bronze badges
0
For Ubuntu 14.04 if you get the same error:
ABC$ make
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -I. -I/usr/include/qt5 -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. -o textpad.o textpad.cpp
textpad.cpp:1:24: fatal error: QApplication: No such file or directory
#include <QApplication>
^
compilation terminated.
make: *** [textpad.o] Error 1
Try qmake-qt4 and then make. Of course you can get all the QT4 libraries if its not present using:
sudo apt-get install libqt4-dev
answered Oct 12, 2014 at 13:47
iampranabroyiampranabroy
1,6261 gold badge15 silver badges11 bronze badges
|
0 / 0 / 0 Регистрация: 08.01.2016 Сообщений: 37 |
|
|
1 |
|
|
03.12.2016, 20:39. Показов 9442. Ответов 9
Для курсовой в целях
ознакомления, скачал исходники программы на qt (текстовый редактор). Но при запуске выдается ошибка «Ошибка: QApplication: нет такого файла или каталога, а за ним и другие классы для работы с формой тоже не подключены.
__________________
0 |
|
7275 / 6220 / 2833 Регистрация: 14.04.2014 Сообщений: 26,871 |
|
|
03.12.2016, 20:47 |
2 |
|
А для какой версии Qt эта программа? Там структура-то современная?
0 |
|
0 / 0 / 0 Регистрация: 08.01.2016 Сообщений: 37 |
|
|
03.12.2016, 20:52 [ТС] |
3 |
|
nmcf, ничего особо примечательного кроме чрезмерного использования указателей. Для какой версии qt писали не знаю. Но залили в 2013. Да и важно ли это? Пока ругается только на QApplication
0 |
|
7275 / 6220 / 2833 Регистрация: 14.04.2014 Сообщений: 26,871 |
|
|
03.12.2016, 21:01 |
4 |
|
Разумеется, важно. Там pro-файл может быть другой.
0 |
|
0 / 0 / 0 Регистрация: 08.01.2016 Сообщений: 37 |
|
|
03.12.2016, 21:22 [ТС] |
5 |
|
nmcf, ненавижу qt! Перезапустил creator и сейчас у него уже ошибка: Ок, вот: Код QWizard: No such file or directory #include <QWizard>
0 |
|
7275 / 6220 / 2833 Регистрация: 14.04.2014 Сообщений: 26,871 |
|
|
03.12.2016, 21:30 |
6 |
|
Покажи pro-файл и main().
0 |
|
Gadwil 0 / 0 / 0 Регистрация: 08.01.2016 Сообщений: 37 |
||||
|
03.12.2016, 21:31 [ТС] |
7 |
|||
|
nmcf, Код #-------------------------------------------------
#
# Project created by QtCreator 2013-10-10T16:01:30
#
#-------------------------------------------------
QT += core gui
TARGET = TextEditor
TEMPLATE = app
SOURCES += main.cpp
mainwindow.cpp printer.cpp texteditor.cpp wizard.cpp
HEADERS += mainwindow.h printer.h texteditor.h wizard.h
FORMS += mainwindow.ui
main
0 |
|
7275 / 6220 / 2833 Регистрация: 14.04.2014 Сообщений: 26,871 |
|
|
03.12.2016, 21:34 |
8 |
|
0 |
|
0 / 0 / 0 Регистрация: 08.01.2016 Сообщений: 37 |
|
|
03.12.2016, 21:38 [ТС] |
9 |
|
nmcf, nmcf, да, это дало результат, но он теперь что то другое не видит. Может проще скачать старый компилятор?
0 |
|
7275 / 6220 / 2833 Регистрация: 14.04.2014 Сообщений: 26,871 |
|
|
03.12.2016, 21:39 |
10 |
|
Ты очистку проекта и запуск qmake выполнили перед сборкой? Там в меню это есть.
0 |
|
Автор | Тема: Не компилится пример (Прочитано 5413 раз) |
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||









ну по крайней мере используемые )