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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: проблемы со статической сборкой Qt  (Прочитано 5742 раз)
Ola
Гость
« : Ноябрь 17, 2011, 12:41 »

Помогите, пожалуйста!
как-то не везет мне со статической сборкой... много раз уже переделывала.
qt 4.7.4, Visual Studio 2008

проделала следующие действия:
1. заменила в E:\Qt\4.7.1\mkspecs\win32-msvc2008\qmake.conf    (D на T)

QMAKE_CFLAGS_RELEASE    = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG      = -Zi -MTd

2. удалила   embed_manifest_dll embed_manifest_exe  в
CONFIG  += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target

3. дальше ни nmake confclean, ни nmake distclean ни cleanconf не сработало.
4. дальше:
configure -debug-and-release -opensource - fast -no-qmake -no-crt -platform win32-msvc2008

5. nmake
(sub-scr не сработало)

через пару часов он собрался.
такие вопросы:
1. В результате получилось 26,5 Гб вся папка после 1,25Гб. так и должно быть? что уж чересчур много. может быть потому что предыдущую динамическую не удалил, а как это надо было сделать? или еще какие-то опции configure дописать, чтобы меньше весил.

2. собрал статически примеры, они вроде запускаются на компьютере без Qt, но в папках с релизом с .exe есть manifest. изменение значений в qmake.conf значит не помогло и он все равно добавляет? и нужно ли его вместе с .exe таскать?

3. Qt creator собирает статически, правда тоже с manifest, вроде работает. А вот в VS2008 проблемы...
прикладываю настройки проекта и ошибки...помогите пожалуйста!

 
4. в depends выдает ошибку. что с этим делать и насколько критично.
MSJAVA.dll and IESHIMS.dll

Уважаемые, подскажите как решить эти проблемы, надеюсь на вашу квалифицированную помощь!!!
спасибо всем
Записан
Ola
Гость
« Ответ #1 : Ноябрь 17, 2011, 12:42 »

3.
Записан
Ola
Гость
« Ответ #2 : Ноябрь 17, 2011, 12:44 »

3.
Записан
black_engel
Гость
« Ответ #3 : Декабрь 08, 2011, 09:55 »

configure -debug-and-release -opensource - fast -no-qmake -no-crt -platform win32-msvc2008

Здесь даже нет признака того, что вы делали эту сборкой статической. (вы не добавили флаг "-static")

такие вопросы:
1. В результате получилось 26,5 Гб вся папка после 1,25Гб. так и должно быть? что уж чересчур много. может быть потому что предыдущую динамическую не удалил, а как это надо было сделать? или еще какие-то опции configure дописать, чтобы меньше весил.

Откуда 26.5 Гбайт??? это что такое?.... (ух ты еп***ный театр, только щас заметил то, сколько занимает у меня эта папка: 29Гбайт,.....)
папка "lib" и должна занимать более 1.25Гбайт (при статической сборке). У меня собранная не до конца статика, папка "lib" занимает 1.7Гбайта.
....
посмотрел какие папки занимают больше всего места и это папка "examples".
полистал Интернет,  и нашел дополнительные флаги при запуске программы "configure":
"-nomake demos -nomake examples"


Вот еще некоторые настройки МВС2008, которые могут избавить Вас от некоторых проблем при линковании. Предварительно сохраните полностью проект в архив (чтобы можно было потом восстановить).
1) Вызовите окно "<PROJECT NAME> Property Pages" из Меню "Project" -> "<PROJECT NAME> Properties..."-> Список в левой части окна -> "Configuration Properties"->"C/C++"->"Optimization" ->   Поле "Optimization" значение  Maximize Speed (/O2)
2) судя по изображению которое вы привели Вам необходимо изменить в настройках параметр "Linker" -> "Input" -> строка "Runtime Library" значение "MT" (для Release) или "MTd" (для Debug)
« Последнее редактирование: Декабрь 08, 2011, 10:55 от black_engel » Записан
_OLEGator_
Гость
« Ответ #4 : Декабрь 08, 2011, 10:22 »

Для уменьшения размера, после сборки можно удалить *.obj, *.pdb, *.ilk, *.exp, moc_*.cpp.
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #5 : Декабрь 08, 2011, 20:53 »

Если у вас папка Qt была 1.25 Гб  то это уже откомпилированная Qt.
Советую скачать исходники и их откомпилировать.
Естественно добавив  опцию -static и уберите опцию -no-qmake
Записан
daimon
Гость
« Ответ #6 : Январь 15, 2012, 03:05 »

делал по схеме для 4.8.0 и вылет nmake - NMAKE : fatal error U1064: MAKEFILE not found and no target specified

confclean и т.д. не работает

нужно вроде перед nmake вызвать qmake для генерации MAKEFILE (вроде компилит)
« Последнее редактирование: Январь 15, 2012, 05:05 от daimon » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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