|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.01.2014, 16:45 | #1 | |||||
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Инструкция для сборки приложений на Qt в один exe без зависимостей от libstdc++-6.dll, libgcc_s_dw2-1.dll, Qt5Core.dll и т.д.
Привет! Возможно кому-нибудь пригодится моя пошаговая инструкция
Инструментарий: - Версия Qt: Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB) Примечание: после сборки можно будет создавать статические приложения, которые не требуют библиотек Qt и MinGW. Можно будет переключаться между сборками (которая по умолчанию и статической) через QtCreator. - скачиваем и устанавливаем Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB) (при установке ставим галочку Source Components) http://qt-project.org/downloads - переходим в каталог C:\Qt\Qt5.2.0\5.2.0\Src\qtbase\mksp ecs\win32-g++ и открываем файл "qmake.conf" - в файле "qmake.conf" отыскиваем переменную QMAKE_LFLAGS и приравниваем ей значение, вот так: Цитата:
- переходим в каталог с исходниками Qt, для этого вводим команду и нажимаем "Enter": Цитата:
Цитата:
- ожидаем окончания конфигурирования - производим компиляцию исходников Qt, для этого вводим команду и нажимаем "Enter": Цитата:
- копируем файлы в каталог установки (каталог установки мы указали на этапе конфигурирования C:\Qt\Qt5.2.0_static), для этого вводим команду и нажимаем "Enter": Цитата:
- запускаем QtCreator - в меню нажимаем "Инструменты" -> нажимаем "Параметры" - слева выбираем "Сборка и запуск", а справа выбираем вкладку "Профили Qt" - нажимаем кнопку "Добавить" и указываем путь до qmake.exe "C:\Qt\Qt5.2.0_static\bin\qmake.exe " - нажимаем кнопку "Применить" - переходим на вкладку "Комплекты" и нажимаем кнопку "Добавить" - в поле "Название" вводим имя Desktop Qt 5.2.0 Static MinGW 32 bit - если поле "Отладчик" пусто, то нажимаем кнопку "Управление" - нажимаем кнопку "Добавить", вводим название (например gdb) и указываем путь к отладчику "C:\Qt\Qt5.2.0\Tools\mingw48_32\bit \gdb.exe" - нажимаем кнопку "Применить" - возвращаемся на на вкладку "Комплекты" - в выпадающем списке "Профиль Qt" выбираем тот, которые мы указали на вкладке "Профили Qt" - выделяем комплект "Desktop Qt 5.2.0 Static MinGW 32 bit" и нажимаем кнопку "Сделать по умолчанию" (если хотим чтобы комплект для статической сборки был поумолчанию) - нажимаем кнопку "OK" - протестируем, что приложения собираются статически - создадим проект, для этого в меню нажимаем "Файл" -> нажимаем "Новый файл или проект..." - слева в списке "Проекты" выбираем "Приложения" -> справа выбираем "Приложения Qt Widgets" - в поле "Название" вводим: Hello_Static_Qt - в поле "Создать" в вводим путь к папке с проектами, например: I:\QtProjects - нажимаем кнопку "Далее" - ставим галочки (по умолчанию должно быть выбрано) на два комплекта: Desktop Qt 5.2.0 MinGW 32 bit Desktop Qt 5.2.0 Static MinGW 32 bit - нажимаем кнопку "Далее" -> нажимаем кнопку "Завершить" - на панели слева нажимаем "Проекты" - в верхней части экрана нажимаем "Desktop Qt 5.2.0 Static MinGW 32 bit" - в разделе "Настройки сборки" в выпадающем списке "Изменить конфигурацию сборки" выбираем "Выпуск" - находим раздел "Этапы сборки" - напротив "qmake" выбираем "Подробнее" - в выпадающем списке "Конфигурация сборки qmake" выбираем "Выпуск" - в поле "Дополнительные параметры" вводим: "CONFIG += release" (с двойными кавычками) - на панели слева нажимаем "Редактор" - в меню нажимаем "Сборка" и нажимаем "Собрать проект "Hello_Static_Qt"" - переходим в папку с exe-файлом и запускаем его: I:\QtProjects\build-Hello_Static_Qt-Desktop_Qt_5_2_0_Static_MinGW_32bit-Выпуск\release Последний раз редактировалось 8Observer8; 22.01.2014 в 16:53. |
|||||
22.01.2014, 18:03 | #2 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Со статической сборкой Qwt проблем нет?
У меня когда-тот давно что-то не получилось (не помню точно в чем была проблема), а у Вас? |
22.01.2014, 19:42 | #3 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
С Qwt не пробовал. Если у тебя получится, то скинь какие-нубудь полезные указания сюда. Хотя это другая тема, но всё же близкая.
Последний раз редактировалось 8Observer8; 22.01.2014 в 20:32. |
03.02.2014, 17:02 | #4 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
еще было бы интересно пошагово узнать, как в статическом варианте вырезать все, что не нужно в данном проекте (а ненужного там получится ~80%).
|
03.06.2014, 00:02 | #5 | |
Регистрация: 09.02.2012
Сообщений: 9
|
Цитата:
|
|
03.06.2014, 08:01 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Переведите что ам написали и поймете, что требует.
|
03.06.2014, 10:43 | #7 | |
Регистрация: 09.02.2012
Сообщений: 9
|
Вчера разобрался с параметрами, но входе работы батника выскакивает такая ошибка и завершается процесс. В папке mingw есть только qmake.
bat file Код:
Цитата:
|
|
08.07.2014, 20:44 | #8 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Я эту инструкцию пока не могу доделать, так как обхожусь "dll". Как время найду, то доделаю Если есть идеи, то пишите в этой теме, там редактировать мне легче: http://www.prog.org.ru/topic_26392_0.html
Вот это сообщение, наверное, в тему: http://www.prog.org.ru/index.php?top...6949#msg196949 |
10.02.2015, 10:49 | #9 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Подпишитесь на мой блог, будет интересно: Статическая сборка Qt 5.4 (MinGW) для Win7. Сжатие exe до мин. размера с помощью upx
|
03.06.2015, 15:41 | #10 |
Новичок
Джуниор
Регистрация: 03.06.2015
Сообщений: 1
|
а как собирать,,если в проекте есть activeqt/qxobject? у меня компилятор ругается(
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C# & DLL: как указать, что загружать DLL нужно из ЗАДАННОЙ папки "D:\My\Path\a.dll" ? | AntyDES | C# (си шарп) | 11 | 10.10.2012 20:00 |
Передать че-нибудь в DLL / Из DLL прочитать переменную EXE | WhiskasTM | Общие вопросы Delphi | 9 | 02.08.2012 13:33 |
Использование формы из DLL-сборки | AgentSmit | C# (си шарп) | 1 | 10.10.2011 11:28 |
Windows I/o без Kernel32.dll и Advapi32.dll | coinkrsk | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 31 | 27.06.2010 08:52 |
Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прогой на C# .dll-ку | kapustin | Общие вопросы .NET | 10 | 23.09.2009 22:20 |