Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > первый простейший проект [QT]


Автор: PADOCTb 11.6.2008, 14:07
установил всё как сказано здесь http://www.qtfaq.ru/tiki-index.php?page=compilation+mingw+qt+windows
Цитата

Множество людей, которые пытаются установить QT 4.3.3 Open Source сталкиваются с множеством проблем. Я решил рассказать как установить и скомпилировать нужное ПО.

Во первых вам понадобятся следующие файлы:

1. qt-win-opensource-4.3.3-mingw.exe (69.9 Mb)
2. MinGW-3.4.2.exe (12.85 Mb)
3. gdb-6.3-2.exe (4.22 Mb)
4. ctags57w32.zip (470.28 Kb)
5. QDevelop-0.25.2-1-setup.exe (8.21 Mb)

Их можно скачать с официальных сайтов, можно воспользоватся и поиском в GOOGLE.
Инструкция по установке:

1. Устанавливаем MinGW-3.4.2 (Желательно в C:\MinGW)
2. Устанавливаем gdb-6.3-2 (Ставится в папку с MinGW)
3. Устанавливаем qt-win-opensource-4.3.3
(Желательно в C:\QT\4.3.3\)
Если папка MinGW задана не стандартно,
то указать это при установке QT)
4. Для того чтоб откомпилировать QT с максимальными возможностями, нужно сосдать BAT Файл и указать там все нужные параметры.

Создайте в папке с QT файл "C:\QT\4.3.3\Compile.bat"

Откройте этот файл в блокноте и вставте в него следующий текст:
Код

@echo off

echo -- QTDIR set to C:\Qt\4.3.3
echo -- PATH set to C:\Qt\4.3.3\bin
echo -- Adding C:\MinGW\bin to PATH
echo -- Adding %SystemRoot%\System32 to PATH
echo -- QMAKESPEC set to win32-g++

set PATH=C:\MinGW\bin\;C:\Qt\4.3.3\bin\;%SystemRoot%\System32
SET QTDIR = C:\Qt\4.3.3
set QMAKESPEC=win32-g++
cd %QTDIR%
echo /--------------------------------------------------------------------------/
echo /* ______ _______ __ __ _____ __ ______ __ __ ____ _____ */
echo /* / / /_/ / / / / / \/ / / ___/ /_/ / / /_/ / / / / / / /\ / ___/ */
echo /* / / / / / / / /\ / / /_ / / / / / / / / / /_/_/ / /_ */
echo /* / / __ / / / / / / / / / __/ / / / / __ / / / / / / /\ / / __ */
echo /* /_/_/_/ /_/__/_/ /_/ /_/ /_/ /_/ /_/__\/ \_\_/_/ /_/ /_/ /_/_/_/ */
echo /--------------------------------------------------------------------------/
configure -debug-and-release -shared -no-fast -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-zlib -qt-sql-ibase -qt-sql-mysql -qt-sql-odbc -qt-sql-psql -qt-sql-sqlite -qt-sql-sqlite2 -stl -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-motif -qt-style-cde
cd %QTDIR%\src
echo /* Ok... :) (Configure) */
echo /----------------------------------------------------------/
echo /----------------------------------------------------------/
echo /* _______ __ __ __ __ _____ */
echo /* / / / / / \/ \ /\ / / / / / ___/ */
echo /* / / / / / /\__/\ \ / /\ / /_/_/ / /_ */
echo /* / / / /\ / / \ \ / /__\ / / /\ / / __ */
echo /* /_/__/_/\/ /_/ \_\/_/ \/_/ /_/ /_/_/_/ */
echo /----------------------------------------------------------/
qmake
echo /* Ok... :) (Qmake) */
echo /----------------------------------------------------------/
echo /----------------------------------------------------------/
echo /* __ __ __ __ _____ */
echo /* / \/ \ /\ / / / / / ___/ */
echo /* / /\__/\ \ / /\ / /_/_/ / /_ */
echo /* / / \ \ / /__\ / / /\ / / __ */
echo /* /_/ \_\/_/ \/_/ /_/ /_/_/_/ */
echo /----------------------------------------------------------/
mingw32-make
echo /* Ok... :) (Make) */
echo /----------------------------------------------------------/
echo / Congratulation!!!! Qt is compiling!!! /
echo /----------------------------------------------------------/
pause

Сохраните файл
( Если вы установили MinGW или QT в нестандартную папку, то поменяйте в файле соответствующие пути )

5. Запустите этот файл Compile.bat
6. Подождите пока скомпилируется библиотека (Выведет Congratulation...)
7. Установите QDevelop-0.25
8. Распакуйте архив ctags57w32 (желательно в C:\QT\)
9. Пропишите переменные окружения:
Панель управления->Система->
Дополнительно(закладка)->Переменные окружения(кнопка)

В разделе системные переменные найдите Path и
добавьте после точки с запятой:
C:\MinGW\bin\;C:\Qt\4.3.3\bin\;

Создайте в этом разделе новую переменную:
QTDIR и запишите в нее значение: C:\Qt\4.3.3

10. При запуске QDevelop Укажите нужные инструменты

11. Все

Автор: Валерiй Бовсунiвський

пробовал qdevelop что-то сделать. не смог нанести на форму кнопку(до этого тока в билдере работал). решил что необходимо почитать литературу. вот пробую сделать следующие:
Цитата

Напишем и откомпилируем небольшой тест.
Код

test.cpp:

#include <QApplication>
#include <QPushButton>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QPushButton hello("Hello, World!");
    hello.resize(100, 30);
    hello.show();
    return app.exec();
}

Запустим в командной строке в директории с файлом test.cpp (директория Qt/bin должна находится в переменной окружения PATH):
Код

qmake -project 
qmake
make

qmake сгенерирует файл проекта, далее, на основе него создаст Makefile, после чего утилита make откомпилирует проект и поместит в директорию release полученный бинарник.

вместо 
Цитата
Запустим в командной строке в директории с файлом test.cpp (директория Qt/bin должна находится в переменной окружения PATH):

сделал bat файл с кодом:
Код

qmake -project
qmake
make
pause

при запуске bat файла выдаёт мне ошибку
Цитата

FATAL: 'FORCE' does not exist - don't know how to make it



вопрос забыл спросить. их 2:
как побороть ошибку(гугл в поиске не помог)
и можно ли где-нибудь найти мануал или тп по работе в qdevelop?

Автор: GePo 11.6.2008, 14:17
Цитата(PADOCTb @ 11.6.2008,  14:07)
FATAL: 'FORCE' does not exist - don't know how to make it

А выполняли qmake -project в директории, где был только test.cpp? Если да, то выложите получившийся .pro файл.
Если нет, то выполните в той, где есть только test.cpp. В pro файл попали явно какие-то лишние цели.

Документация по qdevelop существует на сайте на английском (http://qdevelop.free.fr/doc-en.php).

Когда я последний раз пытался его использовать, он был достаточно сырой, поэтому лучше использовать Qt Designer + редактор, или плагин для студии.

Автор: PADOCTb 11.6.2008, 14:25
Цитата

 то выложите получившийся .pro файл.

Код

######################################################################
# Automatically generated by qmake (2.01a) ?? 11. ??? 15:02:14 2008
######################################################################

TEMPLATE = app
TARGET = 
DEPENDPATH += .
INCLUDEPATH += .

# Input
SOURCES += test.cpp

Цитата
поэтому лучше использовать Qt Designer + редактор

с ним у меня тоже ничё не получилось. не подскажите где по нему руководство найти?
для начала я так думаю надо понять как там элементы ставятся на форму, а потом как к ним функции приписывать(про это я уж читал и понял вроде, тока попрактиковаться надо).

Автор: GePo 11.6.2008, 14:32
http://www.forum.crossplatform.ru/lofiversion/index.php/t662.html

вот, я думаю, ответ на ваш вопрос.
Если коротко, то скорее всего запускается не тот make, замени его на mingw32-make.

Автор: PADOCTb 12.6.2008, 10:09
по совету из http://www.forum.crossplatform.ru/lofiversion/index.php/t662.html попробовал откомпилировать файл из examples. Взял из %QTDIR%\examples\desktop\systray файлы main.cpp, window.cpp, window.h, положил их вместе с следующим bat файлом :

Код

qmake -project
qmake
mingw32-make
pause


и запустил его. увидел следующую ошибку:
Цитата

C:/programming/qt projecs/qt_example2/main.cpp:50: undefined reference to `qInit
Resources_systray()'



ещё побаловался с другими примерами. иногда бывает, что он ругается на include, мол нету такого файла, который под include стоит. я проверил в %QTDIR%/include/ файлы эти были

Автор: PADOCTb 12.6.2008, 13:19
а hellow_world выдал следующую ошибку:
Цитата

test.cpp:11:2: warning: no newline at end of file


в папке release ничего не появилось, а в debug появилась рабочая прога

Автор: JackYF 12.6.2008, 17:55
Цитата(PADOCTb @  12.6.2008,  09:09 Найти цитируемый пост)
который под include стоит. я проверил в %QTDIR%/include/ файлы эти были

возможно, косяки с путями.

Цитата(PADOCTb @  12.6.2008,  12:19 Найти цитируемый пост)
выдал следующую ошибку

Цитата(PADOCTb @  12.6.2008,  12:19 Найти цитируемый пост)
test.cpp:11:2: warning: no newline at end of file

Английским владеешь?

Автор: PADOCTb 12.6.2008, 18:12
Цитата

Цитата(PADOCTb @  12.6.2008,  12:19 )
test.cpp:11:2: warning: no newline at end of file


Английским владеешь?

владею, только вот не нашёл в чем ошибка. скобки и точка с запятой стоят, в конце стоит   
Код

return app.exec();

в первом посте весь код выложил. не подскажете что там не так?
Цитата

Цитата(PADOCTb @  12.6.2008,  09:09 )
который под include стоит. я проверил в %QTDIR%/include/ файлы эти были


возможно, косяки с путями.


а как исправить?

Автор: nickless 13.6.2008, 01:04
Цитата(PADOCTb @  12.6.2008,  17:12 Найти цитируемый пост)
владею, только вот не нашёл в чем ошибка

Не очень значит владеешь smile Это 1. не ошибка, а предупреждение, 2. добавь пустую строку в конец файла.

Добавлено через 1 минуту и 11 секунд
Цитата(PADOCTb @  12.6.2008,  09:09 Найти цитируемый пост)
он ругается на include, мол нету такого файла, который под include стоит

А поточнее? На что жалуется, какие файлы есть, что в пути стоит...

Автор: anatox91 13.6.2008, 08:51
Цитата(PADOCTb @  12.6.2008,  13:19 Найти цитируемый пост)
в папке release ничего не появилось, а в debug появилась рабочая прога

можно делать так:
Код

qmake -project
qmake
make release

и будет в папке релиза

Автор: PADOCTb 13.6.2008, 10:09
Цитата

Цитата(PADOCTb @  12.6.2008,  17:12 )
владею, только вот не нашёл в чем ошибка


Не очень значит владеешь  Это 1. не ошибка, а предупреждение, 2. добавь пустую строку в конец файла.

уже догадалсяsmile

Цитата

Цитата(PADOCTb @  12.6.2008,  13:19 )
в папке release ничего не появилось, а в debug появилась рабочая прога

можно делать так:
Код
qmake -project
qmake
make release





и будет в папке релиза

благодарюsmile так получается, что меж дебаг и релиз версией нету разницу?
Цитата

Цитата(PADOCTb @  12.6.2008,  09:09 )
он ругается на include, мол нету такого файла, который под include стоит


А поточнее? На что жалуется, какие файлы есть, что в пути стоит...


это я пытался пример из тех, что вместе с qt идут откомпилить. там файлов много было. я их просто в одну папку скинул и так же, как и прошлые проги, компилировал. я думаю пока я ещё маинький таким заниматся. вот азы сначала изучу, вырасту и тогда буду с этим разбиратьсяsmile а пока книжки читать

Автор: anatox91 13.6.2008, 11:04
Цитата(PADOCTb @  13.6.2008,  10:09 Найти цитируемый пост)
благодарю так получается, что меж дебаг и релиз версией нету разницу?

есть конечно  smile  например, размер smile 

Автор: JackYF 14.6.2008, 01:26
Цитата(anatox91 @  13.6.2008,  10:04 Найти цитируемый пост)
например, размер

Например, скорость компиляции и качество оптимизации кода на выходе, (не)пригодность к отладке. А вообще документация и поиск значительно упрощают жизнь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)