Russian Qt Forum
Ноябрь 04, 2024, 21:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: static  (Прочитано 10590 раз)
_student
Гость
« : Декабрь 04, 2009, 21:56 »

Ребят, нужно собрать приложение статически, сделал так:
Цитировать
cd C:\path\to\Qt
 configure -static <любые другие параметры, необходимые вам>
Цитировать
nmake sub-src
в итоге все выполнилось, но приложение по-прежнему требует дин. библиотеки
может в qtcreatore необходимо что то указать? Прощу помощи...
Записан
White Owl
Гость
« Ответ #1 : Декабрь 04, 2009, 22:22 »

Ну а приложение то пересобрать не забыл? Улыбающийся
Записан
_student
Гость
« Ответ #2 : Декабрь 04, 2009, 22:32 »

не забыл.., я тут почитал, что динамическая и статическая сборки должны быть в разных местах лежать... то есть, как я понимаю, перед конфигурированием мне нужно было скопировать дин. сборку в др. место, очистить confclean и только после этого собрать статически?
Записан
Den2009
Гость
« Ответ #3 : Декабрь 04, 2009, 23:43 »

да, все правильно понимаете

для удобства лучше создать такие bat-файлы, которые надо положить в папку с QT
сначала запускаем этот:
Код:
SET QTDIR=C:\Qt\4.6.0
SET MINGWDIR=C:\MINGW
SET QMAKESPEC=win32-g++
 
SET PATH=C:\Qt\4.6.0\bin;C:\MINGW\bin;C:\Windows\System32
 
cmd.exe
естественно, все пути к файлам надо исправить на те, которые у тебя
далее, запускаем этот:
Код:
configure -debug-and-release -static -nomake examples -qt-libjpeg -qt-zlib -qt-libpng -nomake demos -no-exceptions -no-openssl -no-phonon -no-style-cde -no-style-cleanlooks -no-style-plastique -no-sql-sqlite -no-stl -no-rtti -no-qt3support -no-scripttools -platform win32-g++
ключи пишите, какие требуются...
можно, конечно, все это вводить вручную, но по-моему, так удобнее )
если используется gcc 4.4.0 и выше, то перед сборкой надо поправить этот файл: %:\QT\versionQT\bin\mkspecs\win32-g++\qmake.conf
в нем надо заменить эту строку:
Код:
QMAKE_LFLAGS            = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
на эту:
Код:
QMAKE_LFLAGS            = -static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
-static убирает зависимость от mingwm10.dll
-static-libgcc убирает зависимость от libgcc_s_dw2-1.dll
Записан
_student
Гость
« Ответ #4 : Декабрь 05, 2009, 01:05 »

Den2009,спасибо
Записан
_student
Гость
« Ответ #5 : Декабрь 06, 2009, 02:21 »

Ребят, путь к mingw32-make указал, но возникает
C:\Documents and Settings\Администратор>mingw32-make sub-src
mingw32-make: *** No rule to make target `sub-src'.  Stop.
Поясните, что не так делаю?
Записан
Den2009
Гость
« Ответ #6 : Декабрь 06, 2009, 02:41 »

у тебя русские буквы в пути )
кинь сюда: C:\MinGW - проблема исчезнет
Записан
_student
Гость
« Ответ #7 : Декабрь 06, 2009, 13:49 »

да не  Улыбающийся, у меня mingw32-make лежит тут D:\Qt\2009.05_St\mingw\bin, просто я добавил ее в path... если честно, то не понятно, почему не работает этот самый mingw32-make... к примеру mingw32-make confclean тоже самое выдает... ребята, срочно выручайте...где я мог тупануть?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #8 : Декабрь 06, 2009, 15:57 »

>>C:\Documents and Settings\Администратор
А что ты собственно делаешь в этом месте, Qt собираешь?
Записан

Юра.
_student
Гость
« Ответ #9 : Декабрь 06, 2009, 16:01 »

нет, просто я запустил cmd, а он по умолч. этот пусть содержит, но я добавил "D:\Qt\2009.05_St\mingw\bin" в path...
хорошо, давай так:  D:\Qt\2009.05_St\mingw\bin>mingw32-make sub-src
mingw32-make: *** No rule to make target `sub-src'.  Stop.

« Последнее редактирование: Декабрь 06, 2009, 16:04 от _student » Записан
_student
Гость
« Ответ #10 : Декабрь 06, 2009, 16:06 »

может эт от версии Qt зависит, просто я дня два назад скачал qt-sdk-win-opensource-2009.05.exe и пытаюсь собрать static на этой версии, на пред. работало...  Грустный
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #11 : Декабрь 06, 2009, 16:26 »

>>D:\Qt\2009.05_St\mingw\bin>mingw32-make sub-src
пипец, а зачем ты вызываешь make  в этом каталоге, цель-то какая?

Ты в каком каталоге configure.exe вызывал? В нём должен был make-файл создаться, в нём же и make делай
« Последнее редактирование: Декабрь 06, 2009, 16:29 от lit-uriy » Записан

Юра.
_student
Гость
« Ответ #12 : Декабрь 06, 2009, 17:49 »

во я тормоз, извините за глупые вопросы, просто прочитал последовательность действий ,а смысл из особо не понял... большое спасибо за терпение и помощь  Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.294 секунд. Запросов: 22.