Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Den2009 от Ноябрь 24, 2009, 16:35



Название: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 24, 2009, 16:35
В общем, собираю QT
Код:
SET QTDIR=C:\Qt\4.4.3
SET MINGWDIR=C:\MINGW
SET QMAKESPEC=win32-g++
 
SET PATH=C:\Qt\4.4.3\bin;C:\MINGW\bin;C:\Windows\System32
затем
Код:
configure -static -debug-and-release -qt-libjpeg -qt-libpng -qt-gif
после сборки:
(http://www.imageup.ru/img72/02215294.jpg)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 24, 2009, 16:47
Написано же: Internal compiler error.
Какая версия g++ ?
Покажи вывод "g++ -v"


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Ноябрь 24, 2009, 17:04
А, что Qt 4.4.3 поддерживает Вин7?


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 24, 2009, 17:21
Цитировать
А, что Qt 4.4.3 поддерживает Вин7?
По моему, когда была эра 4.4.3, о вин7 даже речи не было.
Но проблема не в этом. Внутренняя ошибка компилятора.


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 25, 2009, 11:47
(http://www.imageup.ru/img84/03216087.jpg)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 25, 2009, 12:56
Старая версия Mingw. Установи свежую.


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Ноябрь 25, 2009, 13:22
А свежее только 4.х, которую Qt не поддерживает


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 25, 2009, 14:16
Юрий, Вы что?
Отлично собирается на 4.4.0, 4.4.1 ;)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 25, 2009, 16:59
спс, попробую


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Ноябрь 25, 2009, 18:12
>>Отлично собирается на 4.4.0, 4.4.1
Официально поддерживается тролями? (на виндовозе)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 25, 2009, 18:44
>> Официально поддерживается тролями? (на виндовозе)
Про официально, не в курсе. У меня собирается. Как только вышла версия Mingw-4.4.0, я на нее пересел. И доволен. TR1 поддерживает, счастлив как слон ;)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 26, 2009, 12:22
в общем, я ничего не понял... с 4.4.0 практически сразу сборка останавливается с ошибкой
(http://www.imageup.ru/img94/04216822.jpg)
и еще хотелось бы понять, почему вместо русских букв иероглифы, и как сделать их хотя бы английскими


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 26, 2009, 12:28
О как прикольно! Мне нравится. Необычно как-то ;)

удали содержимое каталога mingw/shared


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 26, 2009, 15:51
спасибо, с буквами стало нормально, а вот со сборкой - нет... те же ошибки, что и на скрине


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Ноябрь 26, 2009, 16:29
>>что и на скрине
там расшифровывать надо


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 26, 2009, 18:19
спасибо, с буквами стало нормально, а вот со сборкой - нет... те же ошибки, что и на скрине
Если с буквами все нормально, может покажешь нам их? ;)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 26, 2009, 19:11
о, надо что-ли? а я думал, вы все тут телепаты )))
(http://www.imageup.ru/img91/05217036.jpg)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 27, 2009, 02:58
У тебя 64-битная ОС ?

Сделай так:
Цитировать
mingw32-make > errors.log
и покажи содержимое файла.


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 27, 2009, 10:24
да, 64-х битная
вот лог
Код:
cd src\winmain\ && mingw32-make -f Makefile 
mingw32-make[1]: Entering directory `C:/Qt/4.4.3/src/winmain'
mingw32-make -f Makefile.Debug all
mingw32-make[2]: Entering directory `C:/Qt/4.4.3/src/winmain'
g++ -c -g -Wall -frtti -fexceptions -mthreads -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_NEEDS_QMAIN -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -D_USE_MATH_DEFINES -I"..\..\include" -I"tmp" -I"..\..\include\QtCore" -I"c:\Qt\4.4.3\include\qtmain" -I"tmp\rcc\debug_static" -I"tmp" -I"..\..\include\ActiveQt" -I"tmp\moc\debug_static" -I"." -I"..\..\mkspecs\win32-g++" -o tmp\obj\debug_static\qtmain_win.o qtmain_win.cpp
mingw32-make[2]: Leaving directory `C:/Qt/4.4.3/src/winmain'
mingw32-make[1]: Leaving directory `C:/Qt/4.4.3/src/winmain'


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 27, 2009, 12:36
Цитировать
да, 64-х битная
Я не пробовал вообще собирать Qt для 64-битной ОС. Так что не в курсе. Но уверен что дело не в этом. Сейчас ради интереса соберу эту версию Qt на 7-х32(может из-за смеси вин7 и mingw-4.4.x). Потом можно будет сделать вывод.

Цитировать
вот лог
Какой-то он не такой.

Сделай так: cmd -> свойства окна -> расположение -> высота = 9999
после скопируй из окна содержимое, и покажи.


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 27, 2009, 13:49
Понял в чем дело. Похоже в WinAPI для mingw-4.4.x есть отличия от той, которая поставлялась в составе предыдущих версий Mingw(или что-то еще).

Вот что нужно сделать:
идем в каталог %QTDIR%/src/corelib/arch, находим файл qatomic_windows.h, открываем текст-редактором.
переходим к строке 387, и видим такое дело:
Код
C++ (Qt)
extern "C" {
   __declspec(dllimport) long __stdcall InterlockedCompareExchange(long *, long, long);
   __declspec(dllimport) long __stdcall InterlockedIncrement(long *);
   __declspec(dllimport) long __stdcall InterlockedDecrement(long *);
   __declspec(dllimport) long __stdcall InterlockedExchange(long *, long);
   __declspec(dllimport) long __stdcall InterlockedExchangeAdd(long *, long);
}
 
заменяем это дело на это дело:
Код
C++ (Qt)
extern "C" {
   __declspec(dllimport) long __stdcall InterlockedCompareExchange(volatile long *, long, long);
   __declspec(dllimport) long __stdcall InterlockedIncrement(volatile long *);
   __declspec(dllimport) long __stdcall InterlockedDecrement(volatile long *);
   __declspec(dllimport) long __stdcall InterlockedExchange(volatile long *, long);
   __declspec(dllimport) long __stdcall InterlockedExchangeAdd(volatile long *, long);
}
 
причина, в разнице деклараций WinAPI прототипов функций.

Все ;)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 27, 2009, 14:16
А нет, не все. Про сборке GUI модуля появляется ошибка, типа qt_sendSpontaneousEvent() не декларирована.
открываем файл %QTDIR%/src/gui/inputmethod/qwininputcontext_win.cpp, и в 500 строку вставляем это:
Код
C++ (Qt)
bool qt_sendSpontaneousEvent(QObject*, QEvent*);
 
продолжилась сборка. Но, думаю это не последняя ошибка.

Позвольте поинтересоваться, а почему именно эту версию нужно?


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 27, 2009, 15:21
да мне без разницы по версии, просто эту скачал, вот ее и собираю... Если более поздняя собирается нормально, что могу ее скачать  ;)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 27, 2009, 15:30
Цитировать
да мне без разницы по версии, просто эту скачал, вот ее и собираю...
Мдя...странное чувство к... Проехали ;D
сдк качайте. там уже все собрано.


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 27, 2009, 19:34
Все равно уже собранное. Вот: http://letitbit.net/download/7305.741849cf2385606cdb59ae0e3/qt_4.4.3_bin_mingw_4.4.1.7z.html может кому пригодится.

"всем спасибо за помощь"


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Ноябрь 27, 2009, 20:33
куль


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 27, 2009, 23:11
лог
http://file.qip.ru/file/109938822/1b30b3f9/errors.html
 (http://file.qip.ru/file/109938822/1b30b3f9/errors.html)
сюда, почему-то, видать из-за размера не захотел вставляться...


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 28, 2009, 14:42
в общем, попытался я собрать свой проект с помощью qt которую скачал по ссылке. ехе не создался, вот лог:
Код:
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `c:/Project'
c:\Qt\4.4.3\bin\uic.exe proga1.ui -o ui_proga1.h
c:\Qt\4.4.3\bin\uic.exe proga1_about.ui -o ui_proga1_about.h
c:\Qt\4.4.3\bin\uic.exe proga1_author.ui -o ui_proga1_author.h
c:\Qt\4.4.3\bin\uic.exe proga1_help.ui -o ui_proga1_help.h
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\main.o main.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\proga1.o proga1.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\proga1_about.o proga1_about.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\proga1_author.o proga1_author.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\proga1_help.o proga1_help.cpp
C:/Qt/4.4.3/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -D__GNUC__ -DWIN32 proga1.h -o debug\moc_proga1.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\moc_proga1.o debug\moc_proga1.cpp
C:/Qt/4.4.3/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -D__GNUC__ -DWIN32 proga1_about.h -o debug\moc_proga1_about.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\moc_proga1_about.o debug\moc_proga1_about.cpp
C:/Qt/4.4.3/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -D__GNUC__ -DWIN32 proga1_author.h -o debug\moc_proga1_author.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\moc_proga1_author.o debug\moc_proga1_author.cpp
C:/Qt/4.4.3/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -D__GNUC__ -DWIN32 proga1_help.h -o debug\moc_proga1_help.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\moc_proga1_help.o debug\moc_proga1_help.cpp
c:\Qt\4.4.3\bin\rcc.exe -name resource resource.qrc -o debug\qrc_resource.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtCore" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include\QtGui" -I"..\Qt\4.4.3\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.4.3\mkspecs\win32-g++" -o debug\qrc_resource.o debug\qrc_resource.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\Project.exe object_script.Project.Debug  -L"c:\Qt\4.4.3\lib" -lmingw32 -lqtmaind -lQtGuid -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCored -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
mingw32-make[1]: Leaving directory `c:/Project'


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Ноябрь 28, 2009, 15:17
в логе нет ни одного сообщения об ошибке


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Ноябрь 28, 2009, 15:18
скорее всего exe'шник создан, только ты его не там ищешь


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 28, 2009, 18:28
Den2009
То что по ссылке, собрано со всеми экземплами. А их там больше 200. Так что один не собранный(вами) проект, не сможет убедить кого-то в том, что дело в библиотеке ;)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 29, 2009, 23:43
понятно... может я чего не правильно делаю...
1. разархивировал
2. мингв использовал тот, который был у меня
3. собрал, используя эти bat-файлы:
Код:
SET QTDIR=C:\Qt\4.4.3
SET MINGWDIR=C:\MINGW
SET QMAKESPEC=win32-g++
 
SET PATH=C:\Qt\4.4.3\bin;C:\MINGW\bin;C:\Windows\System32
 
cmd.exe

Код:
configure -static -debug-and-release -qt-libjpeg -qt-libpng -qt-gif


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Ноябрь 30, 2009, 00:04
Вы так и не объяснили в чем проблема!
Последний лог что вы показали, не содержит сообщений об ошибке.


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Ноябрь 30, 2009, 23:42
проблема в том, что после компиляции ехе программы не был создан.. лог сборки проекта я выкладывал, вот лог сборки QT
http://www.onlinedisk.ru/file/281725/ (http://www.onlinedisk.ru/file/281725/)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 02, 2009, 00:39
в общем, снес все установленное, почистил реестр, сейчас качаю
http://get.qt.nokia.com/qt/source/qt-win-opensource-4.6.0-mingw.exe (http://get.qt.nokia.com/qt/source/qt-win-opensource-4.6.0-mingw.exe)
http://get.qt.nokia.com/qtcreator/qt-creator-win-opensource-1.3.0.exe (http://get.qt.nokia.com/qtcreator/qt-creator-win-opensource-1.3.0.exe)
как я понял, mingw уже есть и его отдельно качать не надо, и тот, который у меня есть, можно снести, или нет?
теперь, у меня просьба:
напишите, плиз, подробно, как собрать все это после установки в статике?


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 02, 2009, 22:13
в общем, такая ситуация:
удалил QT4.3.3, поставил 4.6.0, поставил новый mingw (собирал по этой инструкции вручную http://www.mingw.org/wiki/Getting_Started (http://www.mingw.org/wiki/Getting_Started)) g++ версии 4.4.0, собрал статически, собралось без ошибок, но при сборке программы, компилятор создает файлы moc_*.cpp, *.o, moc_*.o, qrc_recource.o, но не создает ехе файл, в чем проблема?
(http://www.imageup.ru/img96/00220537.jpg)
думал, может винда не дает создать, перенес папку с проектом на другой раздел, но при вводе команды cd G:\ остается в том же каталоге, откуда была запущена командная строка (это видно на скрине)
вот лог компилятора, вроде бы ошибок нет
Код:
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `c:/Project'
c:\Qt\4.6.0\bin\uic.exe proga1.ui -o ui_proga1.h
c:\Qt\4.6.0\bin\uic.exe proga1_about.ui -o ui_proga1_about.h
c:\Qt\4.6.0\bin\uic.exe proga1_author.ui -o ui_proga1_author.h
c:\Qt\4.6.0\bin\uic.exe proga1_help.ui -o ui_proga1_help.h
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\main.o main.cpp
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\proga1.o proga1.cpp
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\proga1_about.o proga1_about.cpp
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\proga1_author.o proga1_author.cpp
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\proga1_help.o proga1_help.cpp
C:/Qt/4.6.0/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -D__GNUC__ -DWIN32 proga1.h -o debug\moc_proga1.cpp
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\moc_proga1.o debug\moc_proga1.cpp
C:/Qt/4.6.0/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -D__GNUC__ -DWIN32 proga1_about.h -o debug\moc_proga1_about.cpp
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\moc_proga1_about.o debug\moc_proga1_about.cpp
C:/Qt/4.6.0/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -D__GNUC__ -DWIN32 proga1_author.h -o debug\moc_proga1_author.cpp
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\moc_proga1_author.o debug\moc_proga1_author.cpp
C:/Qt/4.6.0/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -D__GNUC__ -DWIN32 proga1_help.h -o debug\moc_proga1_help.cpp
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\moc_proga1_help.o debug\moc_proga1_help.cpp
c:\Qt\4.6.0\bin\rcc.exe -name resource resource.qrc -o debug\qrc_resource.cpp
g++ -c -g -fno-exceptions -Wall -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST -I"..\Qt\4.6.0\include\QtCore" -I"..\Qt\4.6.0\include\QtGui" -I"..\Qt\4.6.0\include" -I"." -I"..\Qt\4.6.0\include\ActiveQt" -I"debug" -I"." -I"..\Qt\4.6.0\mkspecs\win32-g++" -o debug\qrc_resource.o debug\qrc_resource.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,windows -o debug\Project.exe object_script.Project.Debug  -L"c:\Qt\4.6.0\lib" -lmingw32 -lqtmaind -lQtGuid -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCored -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
mingw32-make[1]: Leaving directory `c:/Project'


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Декабрь 02, 2009, 23:34
А тут "debug\Project.exe" смотреть пробовали?


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 02, 2009, 23:38
вы не поверите, но я там и смотрел  ;)
moc файлы там есть, *.о файлы там есть, а ехе нету


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: niXman от Декабрь 02, 2009, 23:46
Цитировать
но при вводе команды cd G:\ остается в том же каталоге
Так и должно быть.
Чтоб перейти на диск G:, нужно писать G:. А потом с помощью команды cd переходить в нужный каталог.
И еще. В вашем логе видно, что .exe создается в каталоге ./debug


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 03, 2009, 01:38
не создавался. сам в логе читал, что создается, а не было... сейчас установил qtcreator - начал создаваться, но при запуске вылазит такое окно с ошибкой:
(http://www.imageup.ru/img87/01220613.jpg)
я понимаю, что отсутствует этот драйвер, но как сделать так, чтоб он не требовался, или придется всегда таскать его вместе с программой?

и еще не большая проблема с qt-creator
(http://www.imageup.ru/img87/02220615.jpg)
почему-то он не автоопределяет установленную qt

по первому своему вопросу нашел: http://royalbits.blogspot.com/2009/07/gcc-440-mingw.html (http://royalbits.blogspot.com/2009/07/gcc-440-mingw.html)
но не понял, что надо сделать... как-то кратко написано


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Декабрь 03, 2009, 05:39
>>нужно компоновщику передать параметр: -static-libgcc.
Ключ линкеру (компоновщику) указать, можно попробовать прямо в Креаторе это сделать в настройках "С++"


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 03, 2009, 09:18
а куда там писать?
(http://www.imageup.ru/img97/03220684.jpg)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Декабрь 03, 2009, 16:54
>>а куда там писать?
А пёс его знает, я им не пользуюсь, но уж коль это IDE, должно быть такое место.

На крайняк в pro=файл, типа такого:
QMAKE_LFLAGS += -static-libgcc


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 03, 2009, 16:58
понятно.. если это написать в про-файл, надо заново пересобирать или нет?


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: gmorgunov от Декабрь 03, 2009, 17:24
Если не получится, как советовали выше, попробуйте явно прописать gcc в файл .pro. После qmake -project, до
qmake. Пересобирать ничего не надо. Итак в pro-файл добавьте :
CONFIG += staticlib
DEPENDPATH += Путь_до_gcc_minGW
LIBS += -lgcc
LIBS += Путь_до_gcc_minGW
 


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 03, 2009, 18:34
в общем, такая ситуация: пишу это в pro файл
Код:
CONFIG += staticlib
DEPENDPATH += C:\MinGW\bin
LIBS += -lgcc
LIBS += C:\MinGW\bin
не создается ехе файл... Не пишу этого - создается, но просит библиотеку libgcc_s_dw2-1.dll


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: gmorgunov от Декабрь 03, 2009, 19:41
Получается у вас нет статического gcc. А проверьте-ка это контекстным поиском. Найдите все файлы,
где встречается фрагмент gcc либо g++. Т.е. найти все файлы, где встречается либо построка gcc, либо
g++. Например: C:\Mingw\bin\libgcc.a  или C:\Mingw\libg++.a - скорее всего у вас его(gcc-стат.) нет в системе. 


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 03, 2009, 20:10
вот результаты:
gcc
(http://www.imageup.ru/img80/00221011.jpg)
g++
(http://www.imageup.ru/img80/01221012.jpg)


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: lit-uriy от Декабрь 03, 2009, 20:29
>>в общем, такая ситуация: пишу это в pro файл
А мой-то вариант пробовался? Если да и ничего не получилось (т.е. dll'ка по прежнему нужна), то наверно Qt надо полностью пересобирать, чтобы и она использовала этот ключ.


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 03, 2009, 21:01
пробовал, вообще программа собранная не запускалась...
креатор писал: бла-бла-бла, завершилось с кодом -107..... а если с винды запускать, то появляются часики на мышке (знаю, звучит глупо, но по другому процесс описать не могу :)), потом исчезают и все... в диспетчере задач отсутствует


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: gmorgunov от Декабрь 03, 2009, 22:25
Так вот она libgcc_s_dw2-1.dll в C:\MinGW\bin  лежит. Попробуйте подсунуть ее Qt:
CONFIG += dll
DEPENDPATH += C:\MinGW\bin
LIBS += -lgcc_s_dw2-1
LIBS += -LC:\MinGW\bin


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 04, 2009, 10:25
в общем, пересобрал кутэ с параметрами qmake.conf: -static - для отключения зависимости от mingwm10.dll (по этому совету http://www.prog.org.ru/wiki/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_Qt_%D0%B1%D0%B5%D0%B7_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9_%28MinGW%29 (http://www.prog.org.ru/wiki/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_Qt_%D0%B1%D0%B5%D0%B7_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9_%28MinGW%29))
и с -static-libgcc, для отключения зависимости от libgcc_s_dw2-1.dll
собралось без ошибок, но при запуске приложения оно не запускается, креатор выдает такой отчет:
Код:
Запускается C:\Project\debug\Project.exe...
Object::connect: No such signal QMenu::triggered() in proga1.h:16
Object::connect:  (sender name:   'kn_help')
Object::connect:  (receiver name: 'MainWindow')
C:\Project\debug\Project.exe завершился с кодом -1073741819

вот код proga1.h:
Код:
#ifndef PROGA1_H
#define PROGA1_H
#include <QMainWindow>
#include <QObject>
#include "ui_proga1.h"

class MainWindow : public QMainWindow, Ui::MainWindow // <--------Наследуемся
{
        Q_OBJECT
public:
        MainWindow(QMainWindow* p = 0) : QMainWindow(p)
    {
        setupUi(this);
        connect(pushButton, SIGNAL(clicked()), this, SLOT(rasschet())); //подключаем кнопку рассчет
        connect(kn_about, SIGNAL(triggered()), this, SLOT(about())); // подключаем кнопку о программе
        connect(kn_help, SIGNAL(triggered()), this, SLOT(help())); //подключаем кнопку помощь
        connect(kn_author, SIGNAL(triggered()), this, SLOT(author())); //подключаем кнопку об авторе
    }
public slots:
        void rasschet(); // создаем слот рассчет
        void about(); // создаем слот о программе
        void help(); // создаем слот помощь
        void author(); // создаем слот об авторе
};


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: gmorgunov от Декабрь 04, 2009, 18:09
Проверьте свою сборку простым тестом:
Код:
#include <QtGui>

int main(int argc, char ** argv)
{
    QApplication app( argc, argv );
    QMainWindow *window = new QMainWindow;
    QMenu  *menu = new QMenu;
    QObject::connect(menu, SIGNAL(triggered(QAction*)), window, SLOT(close()));
    window->show();
    return app.exec();
}
Должно собраться/запустится без ошибок. Если это так, надо опять смотреть все файлы.


Название: Re: Сборка QT 4.4.3 под Win7
Отправлено: Den2009 от Декабрь 04, 2009, 19:05
я забыл написать, что пробовал вот таким кодом сборку проверять:
Код:
#include <qapplication.h>
#include <qpushbutton.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Quit", 0);
QObject::connect(button, SIGNAL(clicked()),
&app, SLOT(quit()));
app.setActiveWindow(button);
button->show();
return app.exec();
}
все работает нормально
тексты выложу здесь, в своей теме )) http://www.prog.org.ru/topic_11083_60.html