Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: G-virus от Декабрь 20, 2009, 00:16



Название: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 20, 2009, 00:16
У меня возникла такая не понятная проблема. Когда у меня была библа 4.5.3 я переориентировал ее в статику как написано в этой http://novikovmaxim.narod.ru/linux/lin_progr/QtStatic.htm (http://novikovmaxim.narod.ru/linux/lin_progr/QtStatic.htm) Все работало после того как я все файлы оканчивающиеся на ..d4.a скопировал и переименовал в ...d.a. Теперь качаю Qt 4.6.0 делаю переориентацию, все работает за исключением одной вещи. он теперь не может найти файл libgcc_s_dw2-1.dll (хотя имхо он должен был включить в exe т.к. статическая линковка). Как это устранить?


Название: Re: Проблемы после сборки Qt в статику
Отправлено: crackedmind от Декабрь 20, 2009, 01:42
Писал тут (http://www.forum.crossplatform.ru/index.php?showtopic=3593&view=findpost&p=27986)

Стоит иногда читать инструкции к компиляторам =)
Цитировать
- Dynamic linking with libgcc_s_dw2-1.dll

Dynamic linking with libgcc_s_dw2-1.dll is necessary to throw exceptions between different modules, such as between two DLLs or a DLL and an EXE. Consequently, it is the default for all languages ther than C. To disable this dynamic linking, use -static-libgcc. To enable this dynamic linking in C, use -shared-libgcc.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 20, 2009, 13:16
Писал тут (http://www.forum.crossplatform.ru/index.php?showtopic=3593&view=findpost&p=27986)

Стоит иногда читать инструкции к компиляторам =)
Цитировать
- Dynamic linking with libgcc_s_dw2-1.dll

Dynamic linking with libgcc_s_dw2-1.dll is necessary to throw exceptions between different modules, such as between two DLLs or a DLL and an EXE. Consequently, it is the default for all languages ther than C. To disable this dynamic linking, use -static-libgcc. To enable this dynamic linking in C, use -shared-libgcc.

Ну. А как юзать то эту -static-libgcc. В профайле писать или при компиляции? Чето не пойму ???


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 20, 2009, 23:47
Че никто не знает?  ???


Название: Re: Проблемы после сборки Qt в статику
Отправлено: crackedmind от Декабрь 21, 2009, 02:00
Что-то типа в pro файле.
Код:
QMAKE_CXXFLAGS_RELEASE += -static-libgcc

Либо можно mkspec подправить )


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 21, 2009, 12:50
Что-то типа в pro файле.
Код:
QMAKE_CXXFLAGS_RELEASE += -static-libgcc

Это не помогает  :( Я вот подумал, если Qt пересобрать в статику с ключом -static-libgcc ? Получится?


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 21, 2009, 17:30
Вы попробуйте, о результатах отпишитесь (-: Соберите только QtCore и минимальную программку.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: crackedmind от Декабрь 21, 2009, 17:55
Цитировать
Это не помогает   Я вот подумал, если Qt пересобрать в статику с ключом -static-libgcc ? Получится?
Ну вообще то так и надо))


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 21, 2009, 18:04
Цитировать
Это не помогает   Я вот подумал, если Qt пересобрать в статику с ключом -static-libgcc ? Получится?
Ну вообще то так и надо))

А вы не можете помочь, с помощью чего заюзать -static-libgcc в конфиге? а то напрямую config.exe -static -no-qt3support -no-exception -release -static-libgcc не конфигурирует((


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 21, 2009, 18:35
-static-libgcc нужно дописать в mkspecs/win32-g++/qmake.conf (выше написали в какую переменную), а конфигурировать как обычно. Только лучше пробуйте на чистой копии Qt.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 21, 2009, 18:50
Только лучше пробуйте на чистой копии Qt.

Ну я итак confclean сделаю.  :) Спасибо за информацию. Проведу переориентацию, и сообщу о результатах)

И уточню. Мне нужно дописать в файл сделать confclean, потом дописать в qmake.conf строчку QMAKE_CXXFLAGS_RELEASE += -static-libgcc, и потом уже заного пересобрать библу?


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 21, 2009, 20:04
Да. А перед make confclean сделать make distclean.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 21, 2009, 21:55
у меня существует уже надпись QMAKE_CXXFLAGS_RELEASE   = $$QMAKE_CXXFLAGS_RELEASE. Мне вместо нее подставить QMAKE_CXXFLAGS_RELEASE = -static-libgcc или сделать еще одну строку QMAKE_CXXFLAGS_RELEASE и вписать в нее -static-libgcc?


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 21, 2009, 22:10
QMAKE_CXXFLAGS_RELEASE   = $$QMAKE_CXXFLAGS_RELEASE -static-libgcc


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 21, 2009, 22:24
QMAKE_CXXFLAGS_RELEASE   = $$QMAKE_CXXFLAGS_RELEASE -static-libgcc

спасибо. Щас буду пересобирать  :)


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 15:35
Просидев до 3 часов ночи, собирая Qt в статику заного, я сегодня запускаю Qt Creator, Запускаю статическую сборку проекта и что же я вижу!!! >:( Простая gui-программа (терминалка собственного приготовления) при предыщей статической сборке занимала 7,69 Мб. Это еще куда не шло. Когда я пересобрал библу, перед этим приписав в файле C:\Qt\2009.05\qt\mkspecs\win32-g++\qmake.conf к константе
Код:
QMAKE_CXXFLAGS_RELEASE   = $$QMAKE_CXXFLAGS_RELEASE 

выражение -static-libgcc
то есть получилось так:
Код:
QMAKE_CXXFLAGS_RELEASE   = $$QMAKE_CXXFLAGS_RELEASE -static-libgcc
Я выполняю сборку того же проекта, он начинает весить 8,69 Мб, и при попытке запустить опять возникает чертова ошибка: Приложению не удалось запуститься, поскольку libgcc_s_dw2-1.dll не был найден......... >:(
Как мне быыыыыть? :'(



Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 16:27
Собирать весь Qt, чтобы проверить исчезла ли зависимость, не нужно. Достаточно сделать:

Код:
cd src\corelib
nmake

И после собрать любую программку, чтобы проверить.

Сегодня как доберусь до компьютера проверю сам.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 16:35
А почему размер файла увеличился аж на целый Мб? И интересно, почему же в версии 4.6.0 такие проблемы со статикой  :(


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 16:40
Потому что в Qt часто используется динамическое связывание, когда на этапе компиляции неизвестно какая именно функция будет вызвана. Как следствие - в зависимостях оказывается чуть ли не вся библиотека.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 16:47
Ну вот я пытался, чтобы у меня Debug был динамический, а Release статический. с 4.5.3 получалось, а тут никак  :( немогу начать работу


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 17:04
Оказывается это опция не компилятора, а линковщика, а значит флаг нужно было добавлять сюда:

QMAKE_LFLAGS_RELEASE = -Wl,-s,-static-libgcc

А из QMAKE_CXXFLAGS_RELEASE - убрать.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 17:13
Оказывается это опция не компилятора, а линковщика, а значит флаг нужно было добавлять сюда:

QMAKE_LFLAGS_RELEASE = -Wl,-s,-static-libgcc

А из QMAKE_CXXFLAGS_RELEASE - убрать.

а теперь стало появляться такое сообщение при сборке Release:
Код
C++ (Qt)
c:/qt/2009.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: : No such file: No such file or directory
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\ServerGui.exe] Error 1
mingw32-make: *** [release] Error 2
Завершено с кодом возврата 2.
Ошибка во время сборки проекта ServerGui
Во время выполнения сборки на этапе 'Make'
 

А файл вроде на месте


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 17:16
Так мне опять всю библу пересобирать?!  ??? ААААА :o


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 17:33
Чтобы пересобрать QtCore с нуля хватает 5 минут с учётом конфигурирования.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 17:40
Чтобы пересобрать QtCore с нуля хватает 5 минут с учётом конфигурирования.

Я чет не совсем пойму как собрать именно QtCore)


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 18:20
Код:
cd src\tools\bootstrap
..\..\..\bin\qmake && make
cd ..\moc
..\..\..\bin\qmake && make
cd ..\rcc
..\..\..\bin\qmake && make
cd ..\uic
..\..\..\bin\qmake && make
cd ..\..\corelib
..\..\bin\qmake && make


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 20:00
значит мнее сделать mingw32-make.exe confclean а потом вот эти команды?

А так и вводить cd cd src\tools\bootstrap\..\..\..\bin\qmake && make??
(Сори за такие вопросы, просто не хочу тыщу раз переделывать :) )


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 20:15
Это нужно выполнить сразу после configure.exe, вместо make -> mingw32-make (я так понимаю у вас именно он), а вызов qmake можно вообще убрать, поскольку мейкфайлы уже были собраны. Я обычно вообще забиваю на configure.exe (задаёт глупый вопрос про лицензию и тормозит, собирая мейкфайлы для всего подряд) и qmake собираю сам:

Код:
сd qmake
make -f Makefile.win32-g++ QMAKESPEC=win32-g++ QMAKE_OPENSOURCE_EDITION=1

Но у вас должно быть примерно так:

Код:
configure.exe (your favorite arguments list)
cd src\tools\bootstrap
mingw32-make
cd ..\moc
mingw32-make
cd ..\rcc
mingw32-make
cd ..\uic
mingw32-make
cd ..\..\corelib
mingw32-make


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 20:24
Ок. Спасибо  :) Щас попробую


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 20:54
Странно. При сборке moc он выдает ошибку на отсутсвие ld.exe (хотя такой файл есть) ???


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 20:57
Нет не самого ld, а чего-то что он пытается вызвать.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 21:00
Нет не самого ld, а чего-то что он пытается вызвать.

Я сейчас переустановлю QT SDK, добавлю в файл -static-libgcc, отконфигурирую и соберу QtCore.

Раз только QtCore, значит статически собирать только консольные приложения да?


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 21:01
Да. Но можете собрать таким же образом и QtGui. И winmain, если нужно.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 21:11
Да. Но можете собрать таким же образом и QtGui. И winmain, если нужно.

Да если будет работать, я заного все от радости пересоберу разом :) Лишь бы этот раз заработало. Вот же приходится париться с 4.6.0


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 21:45
Короче он не хочет собирать moc, uic и т.д. Собрал только src\tools\bootstrap.

Что посоветуете  ???


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 22:00
Забить на сборку moc, uic, rcc и просто скопировать их из другой сборки Qt в $qtdir/bin


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 22:02
Забить на сборку moc, uic, rcc и просто скопировать их из другой сборки Qt в $qtdir/bin
А у меня другой статической сборки Qt нету  :(


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 22:14
Неважно статическая или нет, эти программы не зависят ни от каких DLL и подойдут из любой сборки.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 22:54
как то странно. У меня нету файла uic.exe вместо него uic3.exe. rcc.exe есть. moc.exe вообще в папке Qt нету (на компьютере сборка только эта) ???


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 22, 2009, 23:10
Соберите любую шаровую Qt или возьмите из Qt SDK. Проблему нашли...


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 22, 2009, 23:52
Соберите любую шаровую Qt или возьмите из Qt SDK. Проблему нашли...

Нашел файлы. Собрал cd src\corelib. Создаю консольное приложение и сразу собираю Release, и как и в предыдущих случаях получаю:
Код:
Выполняется сборка проекта MyFirstApp...
Запускается: c:/qt/2009.05/qt/bin/qmake.exe C:/MyFirstApp/MyFirstApp.pro -spec win32-g++ -r
Завершено с кодом возврата 0.
Запускается: C:/Qt/2009.05/mingw/bin/mingw32-make.exe -w
mingw32-make: Entering directory `C:/MyFirstApp'
C:/Qt/2009.05/mingw/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/MyFirstApp'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s, -static-libgcc -Wl,-subsystem,console -o release\MyFirstApp.exe release/main.o -L"c:\Qt\2009.05\qt\lib" -lQtCore -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
c:/qt/2009.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: : No such file: No such file or directory
collect2: ld returned 1 exit status
mingw32-make[1]: Leaving directory `C:/MyFirstApp'
mingw32-make: Leaving directory `C:/MyFirstApp'
mingw32-make[1]: *** [release\MyFirstApp.exe] Error 1
mingw32-make: *** [release] Error 2
Завершено с кодом возврата 2.
Ошибка во время сборки проекта MyFirstApp
Во время выполнения сборки на этапе 'Make'

  :( Непонятно....блин, и дернул же меня черт снести рабочую статику 4.5.3 и поставить 4.6.0. А ставил то ради того, чтобы покодить на Symbian.  В итоге не покодил нихрена, и загубил библу  :(


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 23, 2009, 00:11
Посчитав двоеточия я таки вижу, что ld.exe там нет, он ищет в c:/Qt/2009.05/mingw32, а у вас полагаю c:/Qt/2009.05/mingw. Причина этому мне не ясна, скорее всего остатки предыдущей конфигурации дают знать. Варианты: 1) запустите configure.exe на чистой Qt. 2) Создайте файл ld.exe там где он просит.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 23, 2009, 00:27
Посчитав двоеточия я таки вижу, что ld.exe там нет, он ищет в c:/Qt/2009.05/mingw32, а у вас полагаю c:/Qt/2009.05/mingw. Причина этому мне не ясна, скорее всего остатки предыдущей конфигурации дают знать. Варианты: 1) запустите configure.exe на чистой Qt. 2) Создайте файл ld.exe там где он просит.

Я переустанавливал SDK, предыдущей конфигурации быть не может. И посмотрел, ld.exe лежит в нескольких папках,
этот адрес:
Код:
c:/qt/2009.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/
он распознает (если подставить в строку explorer) как:
Код:
C:\Qt\2009.05\mingw\mingw32\bin
И там ld.exe есть (Извините, но я никак не всеку, что мне надо сделить с этой Qt 4.6.0 чтобы она заработала наконец-то в статическом режиме  ;D)


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 23, 2009, 00:31
Попробуйте ещё раз на чистой Qt.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 23, 2009, 00:39
Попробуйте ещё раз на чистой Qt.
Моя последовательность действий:
1) Удалить эту Qt
2) Установить заного
3) дописать в файл qmake.conf к константе выражение -static-libgcc
4)Скопировать uic.exe, rcc.exe, moc.exe в папку C:\Qt\2009.05\qt\bin
5)сконфигурировать configure.exe -static -release -no-qt3support -no-exceptions
6) Собрать src\corelib
8) создать проект консольное приложение и собрать в режиме Release
9)Сообщить о результатах

Я правильно понял?  :)


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 23, 2009, 00:41
Всё верно, благословляю.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 23, 2009, 00:42
Всё верно, благословляю.
Спасибо  ;D


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 23, 2009, 18:30
Итак. Я все сделал как надо. Но у меня все та же ошибка:
Код:
Выполняется сборка проекта MyFirstApp...
Запускается: C:/Qt/2009.05/mingw/bin/mingw32-make.exe clean -w
mingw32-make: Entering directory `C:/MyFirstApp'
C:/Qt/2009.05/mingw/bin/mingw32-make -f Makefile.Release clean
mingw32-make[1]: Entering directory `C:/MyFirstApp'
del release\main.o
mingw32-make[1]: Leaving directory `C:/MyFirstApp'
C:/Qt/2009.05/mingw/bin/mingw32-make -f Makefile.Debug clean
mingw32-make[1]: Entering directory `C:/MyFirstApp'
del debug\main.o
mingw32-make[1]: Leaving directory `C:/MyFirstApp'
mingw32-make: Leaving directory `C:/MyFirstApp'
ЌҐ г¤ Ґвбп ­ ©вЁ C:\MyFirstApp\debug\main.o
Завершено с кодом возврата 0.
Настройки не изменились, этап QMake пропускается.
Запускается: C:/Qt/2009.05/mingw/bin/mingw32-make.exe -w
mingw32-make: Entering directory `C:/MyFirstApp'
C:/Qt/2009.05/mingw/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/MyFirstApp'
g++ -c -O2 -frtti -fno-exceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"..\Qt\2009.05\qt\include\QtCore" -I"..\Qt\2009.05\qt\include" -I"..\Qt\2009.05\qt\include\ActiveQt" -I"release" -I"..\Qt\2009.05\qt\mkspecs\win32-g++" -o release\main.o main.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s, -static-libgcc -Wl,-subsystem,console -o release\MyFirstApp.exe release/main.o -L"c:\Qt\2009.05\qt\lib" -lQtCore -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
mingw32-make[1]: Leaving directory `C:/MyFirstApp'
mingw32-make: Leaving directory `C:/MyFirstApp'
c:/qt/2009.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: : No such file: No such file or directory
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\MyFirstApp.exe] Error 1
mingw32-make: *** [release] Error 2
Завершено с кодом возврата 2.
Ошибка во время сборки проекта MyFirstApp
Во время выполнения сборки на этапе 'Make'

Буду думать...


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 23, 2009, 21:34
не могу понять, в чем проблема(((  :'(


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 23, 2009, 21:58
Проверьте переменные окружения, в PATH чтобы был всего один путь на C:\Qt\2009.05\mingw\bin. Скопируйте его в другое место в конце концов, не видное из PATH вообще и перед configure.exe вызовите: set PATH=/path/to/other/mingw/bin;%PATH%


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 23, 2009, 22:37
Проверьте переменные окружения, в PATH чтобы был всего один путь на C:\Qt\2009.05\mingw\bin. Скопируйте его в другое место в конце концов, не видное из PATH вообще и перед configure.exe вызовите: set PATH=/path/to/other/mingw/bin;%PATH%

А можно подробнее пожалуйста  :) Я не понял


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 24, 2009, 04:09
1. Удаляете все пути из переменной окружения PATH в системе, указывающие на mingw.
2. Открываете голую консоль.
3. Переходите в чистую директорию Qt.
4. Добавляете в переменную PATH путь к mingw:

Код:
set PATH=c:\path\to\mingw\bin;%PATH%

5. Дальше как было описано выше со строчки configure.exe.

P.S. Надеюсь сами вы в Qt SDK (я так понимаю mingw оттуда) ничего не меняли.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 24, 2009, 14:31
1. Удаляете все пути из переменной окружения PATH в системе, указывающие на mingw.
P.S. Надеюсь сами вы в Qt SDK (я так понимаю mingw оттуда) ничего не меняли.

У меня в PATH (если я в ту переменную смотрю) находятся записи C:\WINDOWS\system32 и все в таком роде....если я удалю, это не повлияет на работу системы?? и насчет Qt SDK, что конкретно я мог там поменять? :)


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 24, 2009, 14:34
Удаляйте только пользовательский PATH. И не всё, а только лишние пути. В Qt SDK вы ничего и не должны были менять, но мало ли.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: lit-uriy от Декабрь 24, 2009, 14:43
в консоль всё таки system32 лучше писать. Я пользуюсь такой строкой:
set PATH=X:\path\to\qt\bin;X:\path\to\mingw\bin;%SystemRoot%\System32


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 24, 2009, 18:10
Удаляйте только пользовательский PATH. И не всё, а только лишние пути. В Qt SDK вы ничего и не должны были менять, но мало ли.

Пользовательский PATH у меня отсутствует. Только Path в системных переменных. Значит мне создать в пользовательской колонке переменную PATH а потом конфиг делать?


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 24, 2009, 18:27
Если он у вас отсутствует, то как тогда у вас находится тот же mingw32-make? Где-то ведь прописан путь к Qt Creator. Посмотрите в системной переменной PATH.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 24, 2009, 18:37
Если он у вас отсутствует, то как тогда у вас находится тот же mingw32-make? Где-то ведь прописан путь к Qt Creator. Посмотрите в системной переменной PATH.

в переменной Path (она именно с таким регистром букв написана) вот это есть.
Код:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Autodesk\Backburner\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\

еще есть PATHEXT.
А больше ничего такого нету что связано с PATH


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 24, 2009, 22:43
так как мне быть? Уважаемый Dendy  :)


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 24, 2009, 22:45
Обьясните мне, как, распаковывая Qt в чистую директорию, открывая там шелл и запуская configure.exe этот самый configure.exe узнаёт где лежит mingw?


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 24, 2009, 22:47
Обьясните мне, как, распаковывая Qt в чистую директорию, открывая там шелл и запуская configure.exe этот самый configure.exe узнаёт где лежит mingw?

Если честно, понятия не имею  ;D


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 24, 2009, 22:49
Скорее всего он находит её в переменной окружения. Ваша задача - выяснить как он находит mingw и сделать так, чтобы не находил.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 24, 2009, 22:55
Скорее всего он находит её в переменной окружения. Ваша задача - выяснить как он находит mingw и сделать так, чтобы не находил.

Я излазил все переменные здесь Мой Компьютер -> Свойства -> Дополнительно -> Переменные Среды и там ничего относящегося к Qt нету  ???


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 24, 2009, 23:07
Чудес не бывает, ищите.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 24, 2009, 23:08
Чудес не бывает, ищите.

Дык я больше не знаю где и искать   :(


Название: Re: Проблемы после сборки Qt в статику
Отправлено: crackedmind от Декабрь 25, 2009, 02:22
блин, сделай set, покажи нам...


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Dendy от Декабрь 25, 2009, 02:45
Сейчас угадаю, следующий вопрос будет - "Как?" (-: Открываешь терминал, печатаешь "set", потом Enter. Вывод - сюда.


Название: Re: Проблемы после сборки Qt в статику
Отправлено: crackedmind от Декабрь 26, 2009, 02:38
В общем так.
Применив все свои телепатически способности, я нашел корень проблем =)
В этом посте (http://www.prog.org.ru/index.php?topic=11783.msg73454#msg73454) Dendy написал как указать этот параметр линкеру. Но не правильно.
Должна выдаваться следующая ошибка.
Код:
mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: unrecognized -a option `tic-libgcc'

Но, как мы видим уже в этом посте (http://www.prog.org.ru/index.php?topic=11783.msg73504#msg73504) G-Virus допустил еще одну ошибку в указанию параметра, и предыдущая ошибка трансформировалась в ошибку No such file...

Перечислю ошибки.
1. QMAKE_LFLAGS_RELEASE = -Wl,-s,-static-libgcc (Dendy)
2. QMAKE_LFLAGS_RELEASE = -Wl,-s, -static-libgcc (G-virus)
Gcc к таким выходкам неравнодушен =))

Единственный верный способ - QMAKE_LFLAGS_RELEASE   = -Wl,-s -static-libgcc

P.S. Жду письма с пивом в аттаче :))


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 26, 2009, 19:02
P.S. Жду письма с пивом в аттаче :))

Щас точно так же сделаю. А потом решим, пиво тебе, или 21-ый палец  :)


Название: Re: Проблемы после сборки Qt в статику
Отправлено: G-virus от Декабрь 26, 2009, 19:11
Щас точно так же сделаю. А потом решим, пиво тебе, или 21-ый палец  :)

Ну.....все таки пиво. Но точнее бутылку от пива.....почему exe файл перед первым запуском повисает на минут 5?

Хотя все таки бутылку пива!  :) Даём

НАКОНЕЦ-ТО QT РАБОТАЕТ!!!!!!! ААААААААААА!!!  :D 8)


Название: Re: Проблемы после сборки Qt в статику
Отправлено: Alex03 от Март 02, 2010, 11:28
А не правильней ли
Цитировать
QMAKE_LFLAGS_EXCEPTIONS_OFF = -static-libgcc
У меня работает, и по всей видимости всё будет правильно независимо от того как вызывался configure, с no-exceptions или нет.