Russian Qt Forum

Qt => Вопросы новичков => Тема начата: kulc_hacker от Апрель 25, 2015, 16:14



Название: Не компилится пример
Отправлено: kulc_hacker от Апрель 25, 2015, 16:14
Доброго времени суток всем. Только начал изучать QT. Читаю книгу Бланшета и Саммерфилда "QT4. Программирование GUI на С++". Но не могу скомпилировать первый же пример.
Вот мои действия (Ubuntu 14.04):
1) Создаю папку Edu.
2) В ней файл main.cpp:
Код:
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}
3) В терминале в папке Edu:
qmake -project
qmake Edu.pro
make

Вылазит вот это:
Код:
dns-master@dns-comp:~/Edu$ 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 main.o main.cpp
main.cpp:1:24: fatal error: QApplication: Нет такого файла или каталога
 #include <QApplication>
                        ^
compilation terminated.
make: *** [main.o] Ошибка 1

Делал проекты через скачанный QtCreator. Если создавать проект в QtCreator'e с многочисленными непонятныи мне стандартными файлами, то работает (значит, класс QAplication все-таки существует). Однако я хочу сначала научиться делать проекты через терминал. Скажите пожалуйста, что я не так делаю.


Название: Re: Не компилится пример
Отправлено: Old от Апрель 25, 2015, 16:26
Пробуете примеры из Qt4, а у вас установлен Qt5?


Название: Re: Не компилится пример
Отправлено: kulc_hacker от Апрель 25, 2015, 16:30
Пробуете примеры из Qt4, а у вас установлен Qt5?

В учебниеке написано: "ссли не компилируется, проверьте версию qt. Неободимо qt 4.1.1 и выше". У меня стояла 4. Я решил попробовать 5. Поставил. Ничего не изменилось.


Название: Re: Не компилится пример
Отправлено: Bepec от Апрель 25, 2015, 16:35
В путях нет QtWidgets, в котором и лежит QApplication.
Вот и весь сказ.

PS если уж хотите начинать с терминала, сначала выучите все параметры командной строки компилятора :D ну по крайней мере используемые )


Название: Re: Не компилится пример
Отправлено: Old от Апрель 25, 2015, 16:36
В учебниеке написано: "ссли не компилируется, проверьте версию qt. Неободимо qt 4.1.1 и выше". У меня стояла 4. Я решил попробовать 5. Поставил. Ничего не изменилось.
Для пятерки нужно в pro файле добавлять:
QT += widgets


Название: Re: Не компилится пример
Отправлено: kulc_hacker от Апрель 25, 2015, 17:21
В путях нет QtWidgets, в котором и лежит QApplication.
Вот и весь сказ.

PS если уж хотите начинать с терминала, сначала выучите все параметры командной строки компилятора :D ну по крайней мере используемые )
В каких путях? Расскажите по подробнее. (в линуксе почти никогда не кодил, вот и не знаю ничего пока).


Название: Re: Не компилится пример
Отправлено: Old от Апрель 25, 2015, 17:29
Добавьте в свой pro файл указанную мной строку, запустила qmake и все у вас собереться.


Название: Re: Не компилится пример
Отправлено: Bepec от Апрель 25, 2015, 18:17
Читайте Old'а, он плохого не посоветует.  :)


Название: Re: Не компилится пример
Отправлено: kulc_hacker от Апрель 25, 2015, 18:47
Добавьте в свой pro файл указанную мной строку, запустила qmake и все у вас собереться.

Спасибо, заработало. Объясните, что это за строка? Добавляет классы, связанные с виджетами?


Название: Re: Не компилится пример
Отправлено: Old от Апрель 25, 2015, 18:55
Спасибо, заработало. Объясните, что это за строка? Добавляет классы, связанные с виджетами?
Вы же читаете книгу, там, скорее всего, это будет освешенно. :)


Название: Re: Не компилится пример
Отправлено: Bepec от Апрель 26, 2015, 00:15
За небольшую плату могу пояснить, объяснить и ответить на интересующие вопросы. А если и не знаю, то найти ответы на них :D