Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Компиляция Hello.cpp

Автор: Aries 2.5.2008, 14:24

Решил попробывать сделать первую пробу и сразу застопорился.

1. Установил Qt и MinGW как описано на форме. Прописал пути в системе.
2. Создал директорию и набрал в блокноте файл Hello.cpp
3. qmake -project. Создался файл Hello.pro
4. qmake Hello.pro. Сработало нормально, все что нужно создалось.
5. Дальше нужно в командной строке дать make в ответ получаю:

MAKE Version 5.2 Copyright © 1987, 1998 Inprise Corp.
Fatal: 'FORCE' does not exist - don't know how to make it


И еще. При запуске QDevelop вылазит окно с требованием ввести пути к make, gdb, ctags. gdb нашел в каталоге C:/MinGW/bin - но не знаю это то что нужно или нет. Другие не нашел. Где должны находиться эти файлы? В каталоге Qt/bin - есть make, но он пакетный, может это его нужно прописать.

Спасибо.

Автор: Litkevich Yuriy 2.5.2008, 14:35

у тебя не тот Make запускается, борлондовский(Inprise Corp.) что-то ему в makefile не понравилось. в консоли пробуй mingw32-make.
Если собираешся пользоватся QDevelop'ом, забей ему пути, он будет использовать конкретные программы. Нашел ты их правильно, у некоторых приставки mingw32
настрой по аналогии с рисунком:


Автор: Aries 2.5.2008, 15:52

Теперь ошибку выдает:

error: 'class QApplication' has no member named 'setMainWidget'

Все проверил, все понятно, но не работает. Вот код:

#include <qapplication.h>
#include <qlabel.h>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello, Qt!", 0);
    app.setMainWidget(label);
    label->show();
    return app.exec();
}


А что такое ctags в QDevelop, не могу найти такого файла.

Автор: ViGOur 2.5.2008, 16:00

Строчку

app.setMainWidget(label);
убери. ;)

Автор: Litkevich Yuriy 2.5.2008, 16:07

Цитата(' date='2.5.2008, 19:52) *
А что такое ctags в QDevelop, не могу найти такого файла.

это утилита для подсветки кода, вот:
 ctags.txt ( 199 килобайт ) : 570

поменяй расширение на exe

Автор: Aries 2.5.2008, 16:10

Запустилось, но в учебнике написано если нет этой строки, то приложение будет продолжать работать в фоновом режиме, даже если пользователь закроет окно.

Автор: Litkevich Yuriy 2.5.2008, 16:18

в диспетчер задач загляни, есть оно там когда ты закрываешь приложение?

Цитата
QApplication::setMainWidget() is no longer used. When all an application's windows are closed, the application will exit normally.

Находится в классе поддержки Qt3, а ты как я думаю работешь с Qt4

Автор: ViGOur 2.5.2008, 16:19

Это ты как я понимаю читаешь учебник по работе с Qt 3, а компилишшь примеры используя Qt 4.
Вот что написано по этому поводу в документации для Qt 4, http://www.crossplatform.ru/documentation/qtdoc4.3/porting4.php#qapplication:

Цитата
QApplication::setMainWidget() is no longer used. When all an application's windows are closed, the application will exit normally.

:)

Автор: Litkevich Yuriy 2.5.2008, 16:20

:lol:

Автор: ViGOur 2.5.2008, 16:20

хехе, не успел, Litkevich Yuriy, меня опередил с ответом. :)

Автор: Aries 2.5.2008, 16:25

Да, учебник Qt3. Буду побывать двигаться дальше. Что-то ничего с первого раза не получается.

Я так понимаю, если использовать QDevelop, то командной строкой нет нужды пользоваться. Там кстати тоже не собираются проекты.

Автор: Litkevich Yuriy 2.5.2008, 16:30

hello.cpp скомпилить-то удалось?

Цитата(' date='2.5.2008, 20:25) *
Я так понимаю, если использовать QDevelop, то командной строкой нет нужды пользоваться.

в общем да, ты пробуй запустить что-нибудь из Qt'явых примеров %QTDIR\examples , т.е. скомпиленое. если удачно, то попробуй их скомпилить, для проверки, что все путем компилится, потом уже свое.

Автор: Aries 2.5.2008, 16:42

Да. Из командной строки. Все работает. Только долго компилируется для такой маленькой программы и размер 1,5 МБ, может потому-что инфу для отладки туда пихает.

Сейчас попробую с QDevelop. К стати вставил ctags.exe - горит красным.

Автор: Litkevich Yuriy 2.5.2008, 16:49

Цитата(' date='2.5.2008, 20:42) *
Только долго компилируется для такой маленькой программы и размер 1,5 МБ, может потому-что инфу для отладки туда пихает.

MinGW сам по себе тормоз, а насчет размера, компиль так:
mingw32-make release

Цитата(' date='2.5.2008, 20:42) *
К стати вставил ctags.exe - горит красным.

Гы, не понял

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)