23 / 23 / 5
Регистрация: 05.12.2013
Сообщений: 215
|
|
1 | |
Статическая сборка 5.5.130.12.2015, 23:36. Показов 6763. Ответов 4
Метки нет (Все метки)
Привет всем!
В связи с множественными обращениями по поводу разъяснения ситуации со статической сборкой Qt 5.5.1 решил я сделать подробную инструкцию. Сначала хотел сделать видео, но замотался и решил ограничиться текстом. Поэтому, кому действительно надо, пусть читает, вникает и делает. Сам на себе испытывал, всё работает. Встречаем, инструкция: "Итак, мы решили установить Qt Creator. Устанавливать будем версию 5.5.1. Качаем отсюда - http://download.qt.io/official... 5.5/5.5.1/ . Версия qt-opensource-windows-x86-mingw492-5.5.1.exe . Запускаем программу-установщик... Далее. Выбираем ПУТЬ установки программы и сопутствующих ей компонентов (в заранее созданную нами папку Qt)... Далее. Нажимаем кнопку "Выбрать всё" и, опять же, Далее. Соглашаемся с условиями лицензионного соглашения. Читать его вовсе не обязательно. Далее. И снова Далее. Всё готово к установке. Установить! В разных случаях установка может занимать от 5 до 30 минут... Снимаем галочку с Open Readme и жмём "Завершить".. Qt Creator успешно установлен и запущен, но радоваться ещё рано. Дело в том, что, хоть Вы и сможете писать и отлаживать программы в этой среде разработки, но выпустить программу, которую смогут запустить другие пользователи Вы, пока еще, не сможете. И сейчас мы в этом убедимся. На вкладке "Разработка" создаём проект... Выбираем GUI приложение Qt. Указываем в качестве пути нашу папку QtProjects. Название нам сейчас не важно, жмём далее. Далее. Создаём простейший шаблон оконного приложения, а именно - пустое окно. Далее. И завершить. Qt Creator автоматически создал нам необходимые файлы с кодом, разбирать который мы, пока, не будем, ведь нас сейчас интересует другая сторона вопроса. А именно - будет ли адекватно работать программа, скомпилированная из этого кода? Меняем отладку на выпуск... И жмём на зеленую стрелочку "Запустить"... Как мы можем видеть - запустилась программа, представляющая собой пустое окно. В принципе, другого мы и не ожидали. Закрываем окно, программа завершается. В отчетах по выводу приложения мы видим, откуда был произведён запуск файла. Копируем этот путь и вставляем в проводник. А вот и наш файл! untitled.exe. Пробуем запустить! Какая неудача! И то же самое получится, если Вашу программу попробует запустить кто-то другой. Чтобы выпускать программы, независимые от динамических библиотек, необходимо провернуть довольно сложную махинацию. Закрываем Qt Creator и приступаем к настройке. Открываем нашу папку Qt. Там папку 5.5.1. Src, qtbase, mkspecs и ищем win32-g++. И заходим в неё. Нас интересует файл qmake.conf. Если у вас установлен текстовый редактор notepad++, то жмём правой кнопкой мыши по файлу и выбираем Edit with notepad++. Если у Вас нет notepad++ и в контекстном меню файла нет такого варианта, как "Открыть с помощью...", то с зажатым шифтом кликаем правой кнопкой мыши по свободному месту в окне проводника и выбираем пункт "Открыть окно команд". В консоль пишем "notepad.exe qmake.conf". Итак, мы открыли qmake.conf в текстовом редакторе. Чуть ниже середины ищем строку QMAKE_LFLAGS =. После = следует добавить "-static -static-libgcc". Сохраняем и закрываем. Теперь открываем меню "Пуск" и ищем там папку Qt 5.5.1. Вот она. Там папка 5.5.1, а там папка MinGW. Открываем программу Qt 5.5.1 for Desktop от имени Администратора.. Пишем там следующее: cd ../src/qtbase. Перемещаемся в папку qtbase и копируем путь до неё. Пишем set QTDIR= и вставляем то, что мы скопировали. Enter. Далее пишем set QMAKESPEC=win32-g++. Enter. Теперь немного посложнее - пишем set PATH=. Перемещаемся в папку 5.5.1, заходим в Mingw48_32, bin. Копируем путь, вставляем, точка с запятой. Прыгаем в папку 5.5.1, Src, qtbase, bin. И этот путь мы копируем и вставляем в консоль. Теперь, после точки с запятой пишем - %PATH%. Enter. Все необходимые переменные срЕды мы создали, колдуем дальше. Пишем configure.exe -release -opensource -confirm-license -c++11 -static -opengl desktop -no-angle -nomake examples. Жмём Enter... Теперь ждём. Ждём недолго. Максимум минут 5, на хорошей машине гораздо меньше... По окончании этого времени видим такую картину. Пишем - mingw32-make.exe sub-src. Далее имеет смысл указать программе, сколько ядер доступно нашей машине для оптимизации времени сборки (независимые друг от друга операции будут параллельно выполняться разными ядрами, что существенно сократит время). Для этого надо дописать -j и количество ядер компьютера, увеличенное на единицу. Например, если у нас 4 ядра, то напишем 5. Чтобы узнать, сколько ядер у нашего процессора жмём Пуск, правой кнопкой мыши по "Компьютеру", "Управление". Диспетчер устройств, процессоры. Мы увидим в этой вкладке ровно столько устройств, сколько у нас ядер. Прибавляем к этому числу единицу и пишем после '-j'... Что ж, Enter. Процесс этот долгий, хотя мы и приняли все меры по его сокращению. На всё про всё уйдёт минут 20. Всё готово, закрываем консоль. Заходим в папку QtProjects.. и удаляем наш первый, неудачный проект. И зпускаем, наконец-то, наш Qt Creator... Нет, писать программы ещё не пора. Заходим в "Инструменты", "Параметры". "Сборка и запуск", "Профили Qt". Добавить. Папка с номером версии, Src, qtbase, bin и выбираем тут qmake.exe. Подписываем новоиспечённый профиль, как Static. Теперь прыгаем в комплекты. Добавить. Называем комплект "Static", жмём кнопку "Применить" и профиль Qt выбираем тоже Static. Компилятор должен быть обязательно MinGW. Окей. Создаём проект. Точно такой же. Далее. Теперь запоминаем, это придётся делать каждый раз при создании нового проекта. В Desktop снимаем галочку с Release, а в Static снимаем галочку с Debug. Это позволит нам производить отладку программы, запуская её с помощью динамических библиотек, что сэкономит нам место на жестком диске. В случае же выпуска мы получим программу, содержащую динамические библиотеки внутри своего кода. Такая программа будет весить много, зато запустится на любом компьютере с Windows. Жмём далее. Опять заказываем шаблон пустого окна. Далее. Завершить. Теперь можно нажать на зелёную стрелочку, что бы запустить отладку. Опять видим пустое окошко - нашу программу. Закрываем. Теперь меняем отладку на выпуск и снова запускаем. Видим всё то же самое окошко, но это - уже готовая к работе версия нашей программы. Копируем путь до программы и вставляем его в проводник. В прошлый раз нас постигла неудача при попытке запуска программы, но СЕЙЧАС - всё прекрасно запускается. Переходим в папку QtProject и видим, что Qt Creator создал здесь три папки. Папка untitled имеет имя нашего проекта и содержит в себе только текстовые файлы с кодом программы. Она весит копейки. Папка, название которой заканчивается словом "Debug" содержит отладочные файлы и используется средой разработки для отладки проекта. Её вес уже посерьезнее - чуть больше мегабайта. Ну и последняя папка - это папка для выпуска нашего проекта. Она содержит кое-какие файлы, задействованные при компиляции, и, что самое главное, она содержит нашу программу. Именно готовая программа и придаёт этой папке столь солидный вес - более двенадцати с половиной мегабайтов. Единственная папка, которую нельзя удалять, если мы не хотим потерять проект - это папка с именем проекта. Остальные можно удалять, они появятся при следующей отладке или выпуске. Просто запомним, что не стоит хранить (или даже создавать) release-папки для абсолютно всех проектов. Ведь, если у нас будет, например, 90 проектов, то их суммарный вес составит более одного гигабайта. Ерунда, конечно, для современных компьютеров, но всё же.. Самое главное, что теперь наш Qt Creator готов к работе! Спасибо за внимание и пока!"
1
|
30.12.2015, 23:36 | |
Ответы с готовыми решениями:
4
Статическая сборка qt Статическая сборка Qt 5.1.1 Статическая сборка Статическая сборка |
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 180
|
|
05.01.2016, 14:25 | 2 |
Очень полезная инфа. Но в данный момент очень нужно то же самое но под линукс. Если разберусь - отпишусь.
0
|
05.01.2016, 17:56 | 3 |
Kapitan79, Сборка Qt в статику
0
|
10 / 8 / 5
Регистрация: 06.12.2018
Сообщений: 79
|
|
08.05.2019, 00:56 | 4 |
configure.bat, во всяком случае в версии 5.8.*
но автор постарался от души, большое спасибо!
0
|
08.05.2019, 06:15 | 5 |
0
|
08.05.2019, 06:15 | |
08.05.2019, 06:15 | |
Помогаю со студенческими работами здесь
5
Статическая сборка Статическая сборка Статическая сборка Qt 5.2 Статическая сборка Qt Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |