Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Tertium Organum от Апрель 03, 2007, 15:17



Название: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT
Отправлено: Tertium Organum от Апрель 03, 2007, 15:17
Вобщем задача была собрать QT 4.2.0, чтобы можно было линковать ее статически в проект, который собирается в солюшен VS2005 с двумя другими, которые собираются с /MT, то есть линковка MSVCRT статическая. Фактически я прикручивал QT как гуи к  утилитам для игрового движка. Два дня ушло на это, но результат того стоит. Подумалось, может кому будет полезно. Процесс свелся к следующим простым шагам.
Итак.

1.Качаем с того, которого_нельзя_называть_дабы_не_упоминать_о_неупоминаемом_имя_которого_мы_не_произносим_вслух qt-win-commercial-4.2.0-vs2005.exe, чтоб не было проблем с лицензией и приладами QT
2.Ставим в c:\qt\4.2.0
3.Находим C:\Qt\4.2.0\mkspecs\win32-msvc2005\qmake.conf
4.Правим в нем, чтобы линковать к кутешным либам MSVCRT статически:

QMAKE_CFLAGS_RELEASE   = -O2 -MD
QMAKE_CFLAGS_DEBUG   = -Zi -MDd
      
на

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

5. Находим строку типа «CONFIG   += qt warn_on release...» и убираем в ее конце директивы embed_manifest_dll и embed_manifest_exe
6. Запускаем Пуск –> Microsoft Visual Studio 2005 ->Visual Studio Tools ->Visual Studio 2005 Command Prompt
7. пишем в ней:
cd c:\qt\4.2.0
configure -debug-and-release -static
8. ждем минут 15, пока все закончится
9. пишем, не закрывая консоль:
nmake
10. уходим домой, но компьютер не выключаем. приходим с утра

Если что-то не так, убиваем папку QT. И goto п. 2 :)

Надеюсь кому-то этот алгоритм упростит жизнь, а также спасет жизнь дельфинам в тихом океане и благотворно повлияет на проблему черных, озоновых и прочих дыр.

---
адрес убрал. мля что творица в нете. еще вчера все подряд пользовались генераторами кредкарт и пользовали халявный инет, а теперь "адрес сайта убери, а то большой брат услышит". да еще эти рейды майкрософта...
и дельфины эти гребучие в тихом океане...
пойду застрелюсь, может полегчает...


Название: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT
Отправлено: zabivator от Апрель 03, 2007, 17:45
Лучше адрес сайта убери из поста...
Он называется "лесной базар", либо "андерграунд".
И ни к чему его реальный адрес светить.
Кому надо - сам найдет.


Название: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT
Отправлено: Tertium Organum от Апрель 04, 2007, 10:46
Кстати добавились детали.

до configure папку examples куданть на время деваем.
делаем configure ...
делаем nmake (который занимает теперь меньше времени)
получам на выходе ошибку, но не расстраиваемся
делаем nmake clean

все. копируем обратно examples

папка QT весит около 600 метров
вуаля


Название: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT
Отправлено: noosooth от Апрель 04, 2007, 13:42
Цитата: "Tertium Organum"
до configure папку examples куданть на время деваем. делаем configure ...
делаем nmake (который занимает теперь меньше времени)
получам на выходе ошибку, но не расстраиваемся
делаем nmake clean
все. копируем обратно examples
папка QT весит около 600 метров
вуаля

Господи, ну что же Вы так мучаетесь?
После configure скажИте:
nmake sub-src - соберете только библиотеки
Если желаете статических assistant designer и.т.д. скажите:
nmake sub-tools


Название: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT
Отправлено: Tertium Organum от Апрель 05, 2007, 09:52
да, разобрались
ну поначалу тянет на алхимию :)


Название: Re: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT
Отправлено: pupapum от Март 20, 2008, 17:25
А есть ли тоже самое только с MinGW, уже две недели бьюсь с этим. Кстати, а можно собирать .exe так, чтобы он незаваисл от библиотек компилятора.
К примеру в студии две библиотеки есть, которые с собой носить надо.


Название: Re: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT
Отправлено: Karl-Philipp от Март 20, 2008, 21:22
А есть ли тоже самое только с MinGW, уже две недели бьюсь с этим.

http://wiki.qtcentre.org/index.php?title=Building_static_Qt_on_Windows_with_MinGW

Кстати, а можно собирать .exe так, чтобы он незаваисл от библиотек компилятора.
К примеру в студии две библиотеки есть, которые с собой носить надо.

Думаю, этого избежать неудасться :)
Поправьте, пожалуйста, если я неправ?

Вопрос ко всем и к автору :)
зачем при статической сборке проекта нужно(если можно) "прятать" библиотеки, например, MinGW?


Название: Re: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT
Отправлено: pupapum от Март 24, 2008, 10:33
Я пробовал собирать Qt при помощи этого источника. Но потом при компиляции проэкта вылазит ошибка, что нет какой-то библиотеки


Название: Re: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT
Отправлено: pastor от Март 24, 2008, 13:24
Думаю, этого избежать неудасться :)
Поправьте, пожалуйста, если я неправ?

Удастся

Вопрос ко всем и к автору :)
зачем при статической сборке проекта нужно(если можно) "прятать" библиотеки, например, MinGW?

Например, так легче распространять прогу. Буден один исполняемы файл и все. Все зависимости будут удовлетворены. Но такой подход удобен для небоьших прог.