Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: PavelDart от Октябрь 15, 2009, 19:37



Название: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: PavelDart от Октябрь 15, 2009, 19:37
Доброго времени суток.
Создано приложение на nix-системе - там всё компилируется, бинарник создаётся.
Собственно, проблема в том что не создаётся exe-файл.

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

qmake -project
qmake
make

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

У меня получается первые две строки - создаёт pro-файл, Makefile, так как они занесены в path.
На команду make ругается, "Программа не запускается", поискал - нет файла make. Да и папки release то же нет.

Под линем стоит 3.3 на Хрюше  qt-win-free-mingw-3.3.4


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: pastor от Октябрь 15, 2009, 19:41
А mingw32-make есть?


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: PavelDart от Октябрь 15, 2009, 20:12
А mingw32-make есть?

Нет в системе такого файла.

Устанавливал из setup-qt-win-free-mingw-3.3.4-3. Более ничего не ставил.


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: pastor от Октябрь 15, 2009, 21:47
Нужно тогда отдельно поставить MinGW


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: pastor от Октябрь 15, 2009, 21:49
Устанавливал из setup-qt-win-free-mingw-3.3.4-3. Более ничего не ставил.

А что это за зверь такой - qt-win-free-mingw-3.3.4? :) Чем не припоминаю таких сборок ))


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: PavelDart от Октябрь 15, 2009, 21:59
Нужно тогда отдельно поставить MinGW
а чем qt-win-free-mingw-3.3.4 не подходит. Если можно в двух словах, как на винде работает qt, какое место здесь занимает MiniGV, или ссылочку на вменяемую статью, по возможности.



Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: BRE от Октябрь 15, 2009, 22:10
какое место здесь занимает MiniGV, или ссылочку на вменяемую статью, по возможности.
Это инструментальная среда (компилятор, линкер, make, ...).


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: lit-uriy от Октябрь 16, 2009, 09:43
>>А что это за зверь такой - qt-win-free-mingw-3.3.4?
Qt 3.x под виндовоз бесплатно не было, вот народ и сваял (на Sf.net такой проект есть (http://qtwin.sourceforge.net/qt3-win32/index.php))


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: lit-uriy от Октябрь 16, 2009, 09:46
Цитировать
Если можно в двух словах, как на винде работает qt, какое место здесь занимает MiniGV, или ссылочку на вменяемую статью, по возможности.
Смотри инструкцию по сборке (http://qtwin.sourceforge.net/qt3-win32/compile-mingw.php) (хоть тебе и не нужно собирать, т.к. пользуешь бинарную сборку Qt3...) в инструкции указано где скачать MinGW


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: shadone от Октябрь 16, 2009, 12:30
Под линем стоит 3.3 на Хрюше  qt-win-free-mingw-3.3.4
пожааалуйста ( :) ), не используйте старую версию Qt 3 который была выпущена много лет назад, и уже больше трех лет как не поддерживается самими разработчиками.
Последние версии Qt (на текущий момент это Qt 4.5.3 (http://qt.nokia.com/downloads/)) намного лучше, более оптимизированы, содержат большее количество полезной функциональности, поддерживают современные версии операционных систем и много прочих полезностей.
Плюс уже давно Qt перешла на лицензию LGPL, которая позволяет бесплатно использовать библиотеку на любой платформе без необходимости покупки лицензии.


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: Alex Custov от Октябрь 16, 2009, 15:22
Под линем стоит 3.3 на Хрюше  qt-win-free-mingw-3.3.4

Последние версии Qt (на текущий момент это Qt 4.5.3 (http://qt.nokia.com/downloads/)) намного лучше, более оптимизированы, содержат большее количество полезной функциональности

А также некоторое количество багов :) Вот например этот (http://qt.nokia.com/developer/task-tracker/index_html?id=214108&method=entry) - довольно важный баг, висит ещё с 4.4.0.


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: lit-uriy от Октябрь 16, 2009, 17:24
>>пожааалуйста , не используйте старую версию Qt 3
Да, кстати, надо разобратся какая версия Qt человеку нужна. Что за проект, зависит ли он от Qt3.x или от Qt4.x


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: shadone от Октябрь 16, 2009, 18:58
Под линем стоит 3.3 на Хрюше  qt-win-free-mingw-3.3.4

Последние версии Qt (на текущий момент это Qt 4.5.3 (http://qt.nokia.com/downloads/)) намного лучше, более оптимизированы, содержат большее количество полезной функциональности

А также некоторое количество багов :) Вот например этот (http://qt.nokia.com/developer/task-tracker/index_html?id=214108&method=entry) - довольно важный баг, висит ещё с 4.4.0.
поверьте, багов в Qt 3 не меньше (я даже уверен что их там намного больше). То на что вы указали - не баг - там в описании написано что это предложение новой фичи (suggestion). и погодите - это вы называете "важный" баг ????


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: Alex Custov от Октябрь 16, 2009, 20:08
поверьте, багов в Qt 3 не меньше (я даже уверен что их там намного больше). То на что вы указали - не баг - там в описании написано что это предложение новой фичи (suggestion). и погодите - это вы называете "важный" баг ????

Если в диалоге выбора файлов каталоги смешаны с файлами, то это да, важный баг, который уходит корнями в новомодный MVC, который к слову тоже здорово может потрепать нервы своими багами (QSortFilterProxyModel, не к ночи будет помянут). Когда из связки QSortFilterProxyModel+QTreeView внезапно пропадают свойства expandable каждого элемента, это я считаю критическим багом. Когда QSortFilterProxyModel банально падает на неверных индексах, утягивая за собой всё приложение, это блокирующий баг (AFAIR, исправлено только в 4.5.2). А такие баги находят до сих пор. Qt3 в этом плане гораздо надёжнее. Я использовал Qt Embedded на арме, и таких ужасных проблем не встречал, там я слегка поправил драйвер клавы, который почему-то не понимал коды стрелок, и небольшая проблема с шрифтами, и всё.

KDE3 же написано на Qt3 и ничего, постабильнее будет чем KDE4 ;) В KDE4 я помню даже специальные обходные манёвры для специфических багов в QGraphicsView в плазме AFAIR... Потом когда их наконец-то пофиксили в Qt, специально говорили что не компилируйте KDE4 c новой версией Qt, т.к. у вас там будет что-то глючить из-за того что для старой версии Qt нужно было писать workarounds, а в новой не надо... Да и у меня в коде в текущем проекте тоже имеется парочка "#if QT_VERSION < bla", ибо.

Извините, накипело :)


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: Авварон от Октябрь 17, 2009, 08:54
kde3 первая относительно стабильная версия была где-то 3.3


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: Alex Custov от Октябрь 17, 2009, 10:40
kde3 первая относительно стабильная версия была где-то 3.3

Я пользоваться КДЕ начал с РХ 7.3, там КДЕ был 3.0. Там всё было нормально, не припомню глюков. В отличие от KDE 4.0 :)


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: PavelDart от Октябрь 17, 2009, 23:17
Установил MinGW. потом доставил mingw32-make-3.81-20080326-2.tar.gz
Теперь имеется файл mingw32-make.exe
Добавил путь в path C:\Program Files\MinGW, создал ещё переменную make со значением C:\Program Files\MinGW\mingw32-make.exe

По-прежнему, на команду make система выдаёт: "файл не найден!" (пользуюсь TC)

Сейчас в системе имеется:
qt-win-free-mingw-3.3.4

runtime=mingwrt-3.15.2-mingw32-dev.tar.gz
w32api=w32api-3.13-mingw32-dev.tar.gz
binutils=binutils-2.19.1-mingw32-bin.tar.gz
core=gcc-core-3.4.5-20060117-3.tar.gz
gpp=gcc-g++-3.4.5-20060117-3.tar.gz
g77=
ada=
java=
objc=gcc-objc-3.4.5-20060117-3.tar.gz
make=mingw32-make-3.81-20080326-2.tar.gz

(из файла installed.conf)

Вот, проделал операции:

[PavelDart] C:\Documents and Settings\PavelDart$ set QTDIR=C:\Program Files\qt-
win-free-mingw-3.3.4

 [PavelDart] C:\Documents and Settings\PavelDart$ set MINGW=C:\Program Files\Min
GW

 [PavelDart] C:\Documents and Settings\PavelDart$ set PATH=%QTDIR%\bin;%MINGW%\b
in;%PATH%



 [PavelDart] C:\Documents and Settings\PavelDart$ cd C:\Program Files\qt-win-fre
e-mingw-3.3.4


 [PavelDart] C:\Program Files\qt-win-free-mingw-3.3.4$ configure.bat
"configure.bat" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

 [PavelDart] C:\Program Files\qt-win-free-mingw-3.3.4$ mingw32-make [E:\ALT_medi
a_space\client_nano\win_nano]
mingw32-make: *** No rule to make target `[E:\ALT_media_space\client_nano\win_na
no]'.  Stop.

 [PavelDart] C:\Program Files\qt-win-free-mingw-3.3.4$ configure.exe
Can't read directory C:\Program Files\qt-win-free-mingw-3.3.4\src\styles

 [PavelDart] C:\Program Files\qt-win-free-mingw-3.3.4$ mingw32-make [E:\ALT_medi
a_space\client_nano\win_nano]
mingw32-make: *** No rule to make target `[E:\ALT_media_space\client_nano\win_na
no]'.  Stop.


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: pastor от Октябрь 18, 2009, 00:36
Цитировать
set QTDIR=C:\Program Files\qt-win-free-mingw-3.3.4
set MINGW=C:\Program Files\MinGW

Попробуй использовать пути без пробелов, например

Цитировать
set QTDIR=C:\qt-win-free-mingw-3.3.4
set MINGW=C:\MinGW


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: PavelDart от Октябрь 19, 2009, 19:55
Цитировать
set QTDIR=C:\Program Files\qt-win-free-mingw-3.3.4
set MINGW=C:\Program Files\MinGW

Попробуй использовать пути без пробелов, например

Цитировать
set QTDIR=C:\qt-win-free-mingw-3.3.4
set MINGW=C:\MinGW

Переустановил, вот с несколькими исправлениями:
Код:
 [PavelDart] C:\Documents and Settings\PavelDart$ set QTDIR=C:\qt-win-free-mingw
-3.3.4

 [PavelDart] C:\Documents and Settings\PavelDart$ set MINGW=C:\MinGW

 [PavelDart] C:\Documents and Settings\PavelDart$ set PATH=%QTDIR%\bin;%MINGW%\b


 [PavelDart] C:\Documents and Settings\PavelDart$ in;%PATH%
"in" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

 [PavelDart] C:\Documents and Settings\PavelDart$ set PATH=%QTDIR%\bin;%MINGW%\b
in;%PATH%

 [PavelDart] C:\Documents and Settings\PavelDart$ cd C:\qt-win-free-mingw-3.3.4

 [PavelDart] C:\qt-win-free-mingw-3.3.4$ mingw32-make [E:\ALT_medi
mingw32-make: *** No rule to make target `[E:\ALT_medi'.  Stop.

 [PavelDart] C:\qt-win-free-mingw-3.3.4$ mingw32-make [E:\ALT_media_space\client
_nano\win_nano]
mingw32-make: *** No rule to make target `[E:\ALT_media_space\client_nano\win_na
no]'.  Stop.

 [PavelDart] C:\qt-win-free-mingw-3.3.4$


Может у кого-нибудь есть ещё и ссылка на комментарии к сообщениям об ошибках make.




Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: pastor от Октябрь 19, 2009, 20:33
Попробуй: configure && make clean && make


upd:
А configure ты запускал вобще?


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: lit-uriy от Октябрь 19, 2009, 20:39
Цитировать
Цитировать
Попробуй использовать пути без пробелов, ...
Переустановил, вот с несколькими исправлениями:
...
C:\Documents and Settings\
???


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: pastor от Октябрь 19, 2009, 20:41
Также непонятна цель:

target `[E:\ALT_media_space\client_nano\win_nano]

откуда она?


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: lit-uriy от Октябрь 19, 2009, 20:45
И ещё странные какие-то приписки:
Цитировать
[PavelDart] C:\Documents and Settings\Pav...
никогда таких не видел в консоли


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: PavelDart от Октябрь 19, 2009, 20:53
Цитировать
Цитировать
Попробуй использовать пути без пробелов, ...
Переустановил, вот с несколькими исправлениями:
...
C:\Documents and Settings\
???
qt3 и mingw установил в корень С.
У меня консоль на винде стартует так:

Welcome to Darwin!

 [PavelDart] C:\Documents and Settings\PavelDart$


Также непонятна цель:

target `[E:\ALT_media_space\client_nano\win_nano]

откуда она?

В указанном месте располагаются файлы проекта.
изначально было:
If it breaks you can restart compiling with

c:\source\qt-3> mingw32-make [< target >]
 



Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: BRE от Октябрь 19, 2009, 20:55
И ещё странные какие-то приписки:
Цитировать
[PavelDart] C:\Documents and Settings\Pav...
никогда таких не видел в консоли

Вот это тоже странно:
Цитировать
[PavelDart] C:\Documents and Settings\PavelDart$ set PATH=%QTDIR%\bin;%MINGW%\b
[PavelDart] C:\Documents and Settings\PavelDart$ in;%PATH%
"in" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Такое впечатление, что в строке сделали перенос на слове bin.


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: PavelDart от Октябрь 19, 2009, 20:59
И ещё странные какие-то приписки:
Цитировать
[PavelDart] C:\Documents and Settings\Pav...
никогда таких не видел в консоли

Вот это тоже странно:
Цитировать
[PavelDart] C:\Documents and Settings\PavelDart$ set PATH=%QTDIR%\bin;%MINGW%\b
[PavelDart] C:\Documents and Settings\PavelDart$ in;%PATH%
"in" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Такое впечатление, что в строке сделали перенос на слове bin.
Так и произошло. Копипастил, консоль  обрезала вставку и приняла на ввод.
Потом же:
[PavelDart] C:\Documents and Settings\PavelDart$ set PATH=%QTDIR%\bin;%MINGW%\b
in;%PATH%

прописал как надо.


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: lit-uriy от Октябрь 19, 2009, 21:04
>>У меня консоль на винде стартует так:
Ты перейди сразу в каталог исходников, туда положи bat-ник, который настраивает переменные окружения. И его прямо в каталоге исходников (E:\ALT_media_space\client_nano\win_nano), в консоли, запусти.


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: pastor от Октябрь 19, 2009, 21:08
PavelDart, ты configure выполнял перед make?


Название: Re: Компиляция приложения под windows (превет из АльтЛинукса)
Отправлено: PavelDart от Октябрь 19, 2009, 21:15
PavelDart, ты configure выполнял перед make?

Вот над этим сейчас и мозгую.
имеется вот:
c:\source> cd < qt3 source root >
c:\source\qt-3> configure.bat [-fast] [-verbose]

configure knows some of the parameters of the x11 release configure script like -fast or -verbose.
For a full list see bin\configure.exe -help.


У меня:


 [PavelDart] C:\Documents and Settings\PavelDart$ set QTDIR=C:\qt-win-free-mingw-3.

 [PavelDart] C:\Documents and Settings\PavelDart$ set MINGW=C:\MinGW

 [PavelDart] C:\Documents and Settings\PavelDart$ set PATH=%QTDIR%\bin;%MINGW%\bin;

 [PavelDart] C:\Documents and Settings\PavelDart$ set QMAKESPEC=win32-g++

 [PavelDart] C:\Documents and Settings\PavelDart$ cd C:\qt-win-free-mingw-3.3.4

 [PavelDart] C:\qt-win-free-mingw-3.3.4$ configure.bat
"configure.bat" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

 [PavelDart] C:\qt-win-free-mingw-3.3.4$ cd bin

 [PavelDart] C:\qt-win-free-mingw-3.3.4\bin$ configure.exe
Can't read directory C:\qt-win-free-mingw-3.3.4\src\styles

 [PavelDart] C:\qt-win-free-mingw-3.3.4\bin$ configure.exe -help
Can't read directory C:\qt-win-free-mingw-3.3.4\src\styles


В папке с qt нет файла configure.bat Думается, его ручками создать надо. Если так, то на руководство рад буду ссылку получить.