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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Рецепт сборки статической 4.2.0 со стат. включением MSVCRT  (Прочитано 10921 раз)
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 Улыбающийся

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

---
адрес убрал. мля что творица в нете. еще вчера все подряд пользовались генераторами кредкарт и пользовали халявный инет, а теперь "адрес сайта убери, а то большой брат услышит". да еще эти рейды майкрософта...
и дельфины эти гребучие в тихом океане...
пойду застрелюсь, может полегчает...
Записан
zabivator
Гость
« Ответ #1 : Апрель 03, 2007, 17:45 »

Лучше адрес сайта убери из поста...
Он называется "лесной базар", либо "андерграунд".
И ни к чему его реальный адрес светить.
Кому надо - сам найдет.
Записан
Tertium Organum
Гость
« Ответ #2 : Апрель 04, 2007, 10:46 »

Кстати добавились детали.

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

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

папка QT весит около 600 метров
вуаля
Записан
noosooth
Гость
« Ответ #3 : Апрель 04, 2007, 13:42 »

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

Господи, ну что же Вы так мучаетесь?
После configure скажИте:
nmake sub-src - соберете только библиотеки
Если желаете статических assistant designer и.т.д. скажите:
nmake sub-tools
Записан
Tertium Organum
Гость
« Ответ #4 : Апрель 05, 2007, 09:52 »

да, разобрались
ну поначалу тянет на алхимию Улыбающийся
Записан
pupapum
Гость
« Ответ #5 : Март 20, 2008, 17:25 »

А есть ли тоже самое только с MinGW, уже две недели бьюсь с этим. Кстати, а можно собирать .exe так, чтобы он незаваисл от библиотек компилятора.
К примеру в студии две библиотеки есть, которые с собой носить надо.
Записан
Karl-Philipp
Гость
« Ответ #6 : Март 20, 2008, 21:22 »

А есть ли тоже самое только с MinGW, уже две недели бьюсь с этим.

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

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

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

Вопрос ко всем и к автору Улыбающийся
зачем при статической сборке проекта нужно(если можно) "прятать" библиотеки, например, MinGW?
« Последнее редактирование: Март 21, 2008, 14:21 от terlan » Записан
pupapum
Гость
« Ответ #7 : Март 24, 2008, 10:33 »

Я пробовал собирать Qt при помощи этого источника. Но потом при компиляции проэкта вылазит ошибка, что нет какой-то библиотеки
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #8 : Март 24, 2008, 13:24 »

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

Удастся

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

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

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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