Статическая сборка проекта на основе фреймворка Qt
Фреймворк Qt позволяет разрабатывает приложения обеспечивая их кроссплатформенность на уровне компиляции. К одной из особенностей такого подхода относится обертка платформозависимого кода собственными функциями, и вынесение получившихся сущностей в динамические библиотеки. Такие библиотеки, разработчик фреймворка Qt, предоставляет для каждой из поддерживаемых им платформ. Такой способ обеспечения кроссплатформенности подразумевает, что вместе с исполняемым файлом на целевую платформу, необходимо перемещать и библиотеки. Минимально необходимый перечень таких библиотек приведен в табл. 1
Табл. 1 – Библиотеки фреймфорка Qt, обеспечивающие кроссплатформенность
Наименование |
Назначение |
QtCore4.dll |
Содержит сущности, являющиеся ядром системы |
QtGui4.dll |
Предоставление графического представления |
Если, разработанное СПО, работает с сетью, решает задачи разбора Xml-документов, то к перечисленным библиотекам добавляются библиотеки, предоставляющие соответствующие возможности. Это приводит к увеличению числа файлов, что не всегда отвечает условиям поставленной задачи по разработке СПО.
Существует решение, позволяющее распространять СПО, разработанное на основе фреймворка Qt, в виде одного файла. Суть этого решения состоит в использовании статической сборки проекта, т.е. когда двоичный код библиотек, не сохраняется в виде отдельных файлов, а вкомпилируется в исполняемый файл. Недостатком данного решения является значительное увеличение размера исполняемого файла. Однако для некоторых задач этим можно пренебречь.
Для того что бы реализовать описываемый метод на практике, необходимо пересобрать фреймворк Qt статически, согласно такой методике:
1. Установить Microsoft Visual Studio 2010 (х86);
2. Установить Qt, путь для установки прописать: C:\Qt\4.8.6-vs2010-x86;
3. Создать папку C:\Qt\4.8.6-vs2010-x86-static и скопировать в нее содержимое папки C:\Qt\4.8.6-vs2010-x86;
4. Скопировать в папку C:\Qt\4.8.6-vs2010-x86-static два файла make_4.8.6-vs2010-x86-static.bat и jom.ехе;
5. Открыть файл make_4.8.6-vs2010-x86-static.bat на чтение и проверить что бы путь где лежат исходники и куда будет собираться проект;
Рис. 1 – Содержимое текстового файла «make_4.8.6-vs2010-x86-static.bat»
1. Запустить командную строку Visual Studio (2010) и перейти в директорию где лежат исходники для статической сборки;
2. набрав команду cd C:\Qt\4.8.6-vs2010-x86-static;
3. В командной строке Visual Studio (2010) набрать команду make_4.8.6-vs2010-x86-static.bat и ждать окончания сборки;
4. Установить отладчик Debugging Tools for Windows (x86);
5. Установить Qt Creator;
6. Открыть Qt creator>инструменты>параметры>сборка и запуск, перейти на вкладку "Qt Version" и добавить статическую версию Qt указав путь: C:\Qt\4.8.6-vs2010-x86-static\bin\qmake;

Рис. 2 – Настройка вкладки «Qt Versions»
Перейти на вкладку «Комплекты» и добавить новый комплект со статической сборкой Qt как показано на рис. 3
Рис. 3 – Настройка вкладки «Комплекты»
По завершению настроек нажать «Применить».
Выполнить пересборку проекта, предварительно выбрав соответствующую настройку.