Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: AlexKiriukha от Август 19, 2006, 15:48



Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: AlexKiriukha от Август 19, 2006, 15:48
Может это обуждалось, но что-то не найду.

Вобщем проблема в том, что MinGW неправильно обрабатывает символ '\' в именах файлов и путях. По крайней мере mingw32-make и g++. Очень странно, что под Windows 2000 все было нормально. Сейчас Windows XP SP2 со всеми обновлениями. Поиск в интернете показал, что это проблема скорее Windows. В пинципе, это не так важно, важно как обойти.


Сообщение об ошибке:
Цитировать
C:\Prog\Qt-4.1.4>mingw32-make
cd src && mingw32-make -f Makefile
C:\Prog\DevCpp\bin\mingw32-make.EXE[1]: Entering directory `C:/Prog/Qt-4.1.4/src
'
cd winmain && C:/Prog/DevCpp/bin/mingw32-make.EXE -f Makefile
C:\Prog\DevCpp\bin\mingw32-make.EXE[2]: Entering directory `C:/Prog/Qt-4.1.4/src
/winmain'
C:/Prog/DevCpp/bin/mingw32-make.EXE -f Makefile.Release
mingw32-make.EXE[3]: Entering directory `C:/Prog/Qt-4.1.4/src/winmain'
g++ -c -O2 -O2 -Wall -fexceptions -fno-rtti -DQT_THREAD_SUPPORT -DUNICODE -DQT_L
ARGEFILE_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT -DQT_MOC_C
OMPAT -DQT_NO_DEBUG -I"C:/Prog/Qt-4.1.4/include" -I"tmp" -I"C:/Prog/Qt-4.1.4/inc
lude/QtCore" -I"c:\Prog\Qt-4.1.4\include\qtmain" -I"tmp" -I"C:/Prog/Qt-4.1.4/inc
lude/ActiveQt" -I"tmp\moc\release_shared" -I"." -I"..\..\mkspecs\win32-g++" -o t
mp\obj\release_shared\qtmain_win.o qtmain_win.cpp
ar -ru "..\..\lib\libqtmain.a" tmp\obj\release_shared\qtmain_win.o
mingw32-make.EXE[3]: Leaving directory `C:/Prog/Qt-4.1.4/src/winmain'
C:\Prog\DevCpp\bin\mingw32-make.EXE[2]: Leaving directory `C:/Prog/Qt-4.1.4/src/
winmain'
cd tools\moc && C:/Prog/DevCpp/bin/mingw32-make.EXE -f Makefile
cd: no such file or directory: toolsmoc
C:\Prog\DevCpp\bin\mingw32-make.EXE[1]: *** [sub-tools\moc-make_default-ordered]
 Error 1
C:\Prog\DevCpp\bin\mingw32-make.EXE[1]: Leaving directory `C:/Prog/Qt-4.1.4/src'

mingw32-make: *** [sub-src-make_default-ordered] Error 2

C:\Prog\Qt-4.1.4>


Версии программ:
mingw32-make => 3.80
g++ => 3.4.2 (mingw-special)


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: mistake от Август 20, 2006, 00:05
Встречался с данной проблемой в свое время. Ошибка вызвана неправильной установкой mingw. Конкретнее не помню - с полгода назад дело было. Решение проблемы нашел вроде бы на сайте qtforum.org.

добавлено спустя 9 минут:

 Если не ошибаюсь - проблемы возникали при установке какого-то там "минимального" пакета mingw (что-то типа отдельной сборки).

Есть подозрение, что рабочая версия mingw была установлена из следующих пакетов:
1) binutils-2.16.91-20050827-1.tar.gz;
2) gcc-core-3.4.4-20050522-1.tar.gz;
3) gcc-g++-3.4.4-20050522-1.tar.gz.

P.S. За точность сведений не поручусь, поскольку ставил QT на основе Mingw давно. Теперь сижу на связке с Visual Studio.


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: Вудруф от Август 21, 2006, 07:25
Установкой? Я MinGW ставлю всегда одинаково: распаковываю архивы в одно место, прописываю переменную MinGW, вношу её в PATH.
Назвать это установкой.. язык не поворачивается :)

У меня в WinXP SP2 собирается без проблем. И никогда таких проблем и не было...


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: Admin от Август 21, 2006, 08:47
что вы хотите
в виндоусе слешь \
в линуксе /

так что тут собака и порылась


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: Вудруф от Август 21, 2006, 10:01
В винде / работает...

добавлено спустя 35 секунд:

 Это типа стандарт POSIX, который винда поддерживает :)


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: Admin от Август 21, 2006, 10:05
да но в C символ \ определяется как \\

часто использую такой макрос  :)

//linux compatible
#ifdef WIN32
#   define SEP  "\\"
#else
#   define SEP "/"
#endif


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: mistake от Август 21, 2006, 11:49
Цитата: "Вудруф"
Установкой? Я MinGW ставлю всегда одинаково: распаковываю архивы в одно место, прописываю переменную MinGW, вношу её в PATH.
Назвать это установкой.. язык не поворачивается :)

У меня в WinXP SP2 собирается без проблем. И никогда таких проблем и не было...

Был еще какой-то инсталлер с MinGW. Вот после него такие ошибки и вылазили...

добавлено спустя 5 минут:

 
Цитата: "Admin"
что вы хотите
в виндоусе слешь \
в линуксе /

так что тут собака и порылась

В Виндоусе прекрасно работает и / и \. Проблема именно в неправильной установке MINGW.


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: Вудруф от Август 21, 2006, 12:02
Всегда в виндовых программах использовал только /, и всё работало. И никакого макроса не надо!!


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: AlexKiriukha от Август 21, 2006, 12:50
MinGW - это тот, что вытягивается при установке Qt автоматически.


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: L.Marvell от Август 21, 2006, 13:23
MSYS установлен?


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: AlexKiriukha от Август 21, 2006, 15:49
Неа. Раньше и без него собиралось.


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: L.Marvell от Август 21, 2006, 16:16
Цитата: "AlexKiriukha"
Неа. Раньше и без него собиралось.

Ну это понятно, как раз с ним бывают проблемы, если он прописан в путях :)


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: mistake от Август 21, 2006, 17:04
Цитата: "AlexKiriukha"
MinGW - это тот, что вытягивается при установке Qt автоматически.

Ставь руками.


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: AlexKiriukha от Август 21, 2006, 21:08
Поставил и руками. Скачал stable gcc-core, g++, binutils, mingw32-make. Та же самая бойда. Причем на Win2K все было отлично.


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: Вудруф от Август 22, 2006, 06:19
Даже не знаю. Я делаю так:
распаковываю сорсы в D:\qt-4.1.4 - чтобы путь без пробелов был
распаковываю MinGW в D:\Program files\MinGW
устанавливаю переменную окружения
MINGW:        D:\Progra~1\MinGW
QTDIR:         D:\qt-4.1.4
PATH:           %PATH%;%QTDIR%\bin;%MINGW%\bin
QMAKESPEC: win32-g++
configure ...
mingw32-make

Всё ставится без проблем, WinXP SP2

добавлено спустя 2 минуты:

 Да, кстати. У меня перечень MinGW поболе будет:
binutils-2.16.91-20060119-1
gcc-core-3.4.5-20060117-1
gcc-g++-3.4.5-20060117-1
gdb-5.2.1-1
mingw32-make-3.80.0-3
mingw-runtime-3.9
mingw-utils-0.3
w32api-3.6


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: bond99 от Август 24, 2006, 00:26
У меня было так же - убрал из PATH cygwin

http://www.trolltech.com/developer/knowledgebase/707/?searchterm=cygwin%20mingw


Название: Qt-4.1.4, сборка при помощи MinGW. Бока.
Отправлено: AlexKiriukha от Август 24, 2006, 18:38
1. Установил самое последнее с сайта MinGW - ничего не изменилось.
2. У меня нет cygwin.

-----------------------------------

Опа, а зато есть sh.exe. Он не из msys или cygwin, а из каких-то unix-utils. Сейчас его переименовал все заработало! Спасибо!

-----------------------------------

Все. Собралось. Теперь можно и postgresql прикрутить...