Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Alex_SimBeat от Апрель 23, 2012, 12:03



Название: Пример из книги Жасмин Бланшет
Отправлено: Alex_SimBeat от Апрель 23, 2012, 12:03
Доброго времени суток! Вот начал практиковаться с Qt (до этого лет 7 занимался мат.моделированием и всем прочим в Матлабе). Установил "Qt Creator 2.0.1 основан на Qt 4.7.0" (из справки), система: Windows XP 32бит. "Забил" в качестве консольного приложения первый же пример из книжки:

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel *label = new QLabel("...");
    label->show();
    return a.exec();
}

при сборке сообщает про ошибки: QApplication: No such file or directory ... и далее путь к моему несчастному main.cpp. В книжке сказано, что при установке под винду все переменные среды пропишутся автоматически. Что не так с самого начала? )))


Название: Re: Пример из книги Жасмин Бланшет
Отправлено: ecspertiza от Апрель 23, 2012, 12:08
один из вариантоа в pro файл добавить строчку

Код:
QT += gui

и то что вы сделаете не может быть консольным приложением, так как используется QApplication вместо QCoreApplication и QLabel это GUI элемент.


Название: Re: Пример из книги Жасмин Бланшет
Отправлено: Alex_SimBeat от Апрель 23, 2012, 13:15
один из вариантоа в pro файл добавить строчку

Код:
QT += gui

и то что вы сделаете не может быть консольным приложением, так как используется QApplication вместо QCoreApplication и QLabel это GUI элемент.

Да, да, конечно! По шаблону консольного приложения Qt подключал ту самую библиотеку, что Вами указана. Добавил строчку в *.pro файл - получилось! ))) Только зачем окошко с черным экраном создается? Еще может подскажете, как использовать команду qmake -project в среде разработки Qt? Или необходима еще программа эмуляции командной строки? Скажем так, есть вариант собрать приложение с помощью IDE Qt? зачем вариант с qmake? Прошу прощения за вопросы, вероятно нелепые.

P.S: Запускаю созданный exe-шник, появляется окно консольного приложения (черное) и сообщение: не найден mingwm10.dll. Может и тут проконсультируете? Заранее, спасибо.


Название: Re: Пример из книги Жасмин Бланшет
Отправлено: V1KT0P от Апрель 23, 2012, 13:55
P.S: Запускаю созданный exe-шник, появляется окно консольного приложения (черное) и сообщение: не найден mingwm10.dll. Может и тут проконсультируете? Заранее, спасибо.
А что тут консультировать. Какие библиотеки использовались при сборке приложения, те оно и требует. Обычно графическое кьют приложение требует: mingwm10.dll, libgcc_s_dw2-1.dll, QtCore4.dll, QtGui4.dll. Все они находятся в кьютовской директории.


Название: Re: Пример из книги Жасмин Бланшет
Отправлено: Alex_SimBeat от Апрель 23, 2012, 14:18
P.S: Запускаю созданный exe-шник, появляется окно консольного приложения (черное) и сообщение: не найден mingwm10.dll. Может и тут проконсультируете? Заранее, спасибо.
А что тут консультировать. Какие библиотеки использовались при сборке приложения, те оно и требует. Обычно графическое кьют приложение требует: mingwm10.dll, libgcc_s_dw2-1.dll, QtCore4.dll, QtGui4.dll. Все они находятся в кьютовской директории.

Бросил копии этих dll в папку с exe-шником, - все получилось. Но папка была по умолчанию создана кьютом. Путь к ней отдельной переменной системы необходимо определять? Или в чем тут фокус?


Название: Re: Пример из книги Жасмин Бланшет
Отправлено: V1KT0P от Апрель 23, 2012, 14:26
P.S: Запускаю созданный exe-шник, появляется окно консольного приложения (черное) и сообщение: не найден mingwm10.dll. Может и тут проконсультируете? Заранее, спасибо.
А что тут консультировать. Какие библиотеки использовались при сборке приложения, те оно и требует. Обычно графическое кьют приложение требует: mingwm10.dll, libgcc_s_dw2-1.dll, QtCore4.dll, QtGui4.dll. Все они находятся в кьютовской директории.

Бросил копии этих dll в папку с exe-шником, - все получилось. Но папка была по умолчанию создана кьютом. Путь к ней отдельной переменной системы необходимо определять? Или в чем тут фокус?
Пропиши путь к этим библиотекам в PATH и он сам будет их находить. Только при распространении приложения не забывай класть нужные библиотеки.


Название: Re: Пример из книги Жасмин Бланшет
Отправлено: Alex_SimBeat от Апрель 23, 2012, 14:37
P.S: Запускаю созданный exe-шник, появляется окно консольного приложения (черное) и сообщение: не найден mingwm10.dll. Может и тут проконсультируете? Заранее, спасибо.
А что тут консультировать. Какие библиотеки использовались при сборке приложения, те оно и требует. Обычно графическое кьют приложение требует: mingwm10.dll, libgcc_s_dw2-1.dll, QtCore4.dll, QtGui4.dll. Все они находятся в кьютовской директории.

Бросил копии этих dll в папку с exe-шником, - все получилось. Но папка была по умолчанию создана кьютом. Путь к ней отдельной переменной системы необходимо определять? Или в чем тут фокус?

С путями к dll разобрался. Как убрать консольное окно, что-то в файле проекта подредактировать нужно? Если, - да, то, что?


Название: Re: Пример из книги Жасмин Бланшет
Отправлено: V1KT0P от Апрель 23, 2012, 14:52
P.S: Запускаю созданный exe-шник, появляется окно консольного приложения (черное) и сообщение: не найден mingwm10.dll. Может и тут проконсультируете? Заранее, спасибо.
А что тут консультировать. Какие библиотеки использовались при сборке приложения, те оно и требует. Обычно графическое кьют приложение требует: mingwm10.dll, libgcc_s_dw2-1.dll, QtCore4.dll, QtGui4.dll. Все они находятся в кьютовской директории.

Бросил копии этих dll в папку с exe-шником, - все получилось. Но папка была по умолчанию создана кьютом. Путь к ней отдельной переменной системы необходимо определять? Или в чем тут фокус?

С путями к dll разобрался. Как убрать консольное окно, что-то в файле проекта подредактировать нужно? Если, - да, то, что?
Вроде как надо убрать строку:
Код:
CONFIG   += console


Название: Re: Пример из книги Жасмин Бланшет
Отправлено: Alex_SimBeat от Апрель 23, 2012, 15:01
Всем спасибо. Порядок для начала ))