CQtDeployer 
What is CQtDeployer
The CQtDeployer is application for extract all depends library of executable and create launch script for your application.
Key differences of this program:
- Performance: this program deploys the application several times faster (up to 10 seconds)
- Flexibility: this application's got flags that help you to configure the deployment for your or your project's needs
- Crossdeploy: this application's support windows and linux distrebutives, This means that you can use it not only to deploy a project for your platform, but also to deploy a project on Linux for Windows and vice versa.
- Fast create installers : Upon completion of the deployment, you will receive a self-contained installer of your distribution.
Supported platforms:
Support processors architectures:
- x86
- x86-64
- ARM
- ARM64
How to use
Example: cqtdeployer <-bin [params]> [options]
See list of all options here
Example: cqtdeployer -bin myApp -qmlDir ~/MyAppProject/qml -qmake ~/Qt/5.12.4/gcc_64/bin/qmake clear
More examples
Project structure after deploy:
#linux
cqtdeployer -bin Guitar
#windows
cqtdeployer -bin Guitar.exe -qmake /path/to/qmake.exe

Project installer after deploy with the qif option.
#linux
cqtdeployer -bin Application qif
#windows
cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif

Project installer after deploy with the qif and qifStyle option.
#linux
cqtdeployer -bin Application qif -qifStyle quasar
#windows
cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif -qifStyle quasar

#linux
cqtdeployer -bin Application qif -qifStyle path/to/myStyle.css
#windows
cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif -qifStyle path/to/myStyle.css

Build for Linux
- install qt and qt QtInstallFrameWork from qt installer
- git clone https://github.com/QuasarApp/CQtDeployer.git
- cd CQtDeployer
- git submodule update --init --recursive
- qmake -r
- Here you must definitely call the qmake that was loaded from the 1st item.
- Example: ~/Qt/5.14.0/gcc_64/bin/qmake -r
- make -j$(nproc)
- make deploy
- #this command requires installed cqtdeployer
-
If you are building cqtdeployer using qt from your OS repository, use only the cqtdeployer installed from the github installer. The fact is that the snap package does not have access to system libraryes.
- ./Distro/CQtDeployerInstaller.run
Build for Windows (CMD)
- install qt and qt QtInstallFrameWork from qt installer
- git clone https://github.com/QuasarApp/CQtDeployer.git
- cd CQtDeployer
- git submodule update --init --recursive
- SET PATH=C:/Qt/Tools/mingw730_64/bin;%PATH%
- It is important to set up the qt environment.
- qmake.exe -r
- Here you must definitely call the qmake that was loaded from the 1st item.
- Example: C:/Qt/5.14.0/mingw73_64/bin/qmake.exe -r
- migw32-make -j8
- migw32-make deploy
- #this command requires installed cqtdeployer
- ./Distro/CQtDeployerInstaller.exe
Install
You can download the latest version of the application here.
Snap
Features of the snap version
The snap package does not have access to system libraries. This means deploySystem options will not work. This also means that if you manually specify libDir or extraLib, then libraries that are not in home will not be found. If these restrictions bother you, use the Installer classic version of the application.
If you are using the snap version of the application. Enable all permissions for cqtdeployer. this can be done in the snap-store Or starting with ubuntu 20.04 in the ubuntu application settings manager.
Projects using CQtDeployer:
Donate
If you want to support the project,you can donate into our bitcoin wallet.
Bitcoin address - 1NJNbDKmezcUcHRfzpBeq2fHeG21oEKX8Q
Thanks
- many thanks Trail of Bits for their library pe-parser. Everything works perfectly.
CQtDeployer - это приложение преднознаена для извлечения всех зависимых библиотек исполняемого файла и создания сценария запуска для вашего приложения.
Основные отличия этой программы:
- Производительность - эта программа развертывает приложение в несколько раз быстрее (до 10 секунд)
- Гибкость - это приложение имеет флаги, которые помогут вам настроить деплоинг под ваши нужды и нужды вашего проекта
- Crossdeploy: приложение поддерживает Windows и дистрибутивы Linux, это означает, что вы можете использовать его не только для развертывания проекта для вашей платформы, но и для развертывания проекта в Linux для Windows и наоборот.
- Быстрое создание установщиков. По завершении развертывания вы получите автономный установщик вашего дистрибутива.
Поддерживаемые платформы:
Поддержка архитектур процессоров:
- x86
- x86-64
- ARM
- ARM64
Как использовать
пример : cqtdeployer <-bin [params]> [options]
Смотрите список всех опций здесь
пример: cqtdeployer -bin myApp -qmlDir ~/MyAppProject/qml -qmake ~/Qt/5.12.4/gcc_64/bin/qmake clear
Еще примеры
Стуктура проекта после развертывания:
#linux
cqtdeployer -bin Guitar
#windows
cqtdeployer -bin Guitar.exe -qmake /path/to/qmake.exe

Установщик проекта после использования опции qif.
#linux
cqtdeployer -bin Application qif
#windows
cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif

Установщик проекта после использования опции qif c пользовательским стилем.
#linux
cqtdeployer -bin Application qif -qifStyle quasar
#windows
cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif -qifStyle quasar

#linux
cqtdeployer -bin Application qif -qifStyle path/to/myStyle.css
#windows
cqtdeployer -bin Application.exe -qmake /path/to/qmake.exe qif -qifStyle path/to/myStyle.css

Build для Linux
- установите qt и qt QtInstallFrameWork из Установщик qt
- git clone https://github.com/QuasarApp/CQtDeployer.git
- cd CQtDeployer
- git submodule update --init --recursive
- qmake -r
- Здесь нужно обязательно вызвать тот qmake, который был загружен из 1го пункта.
- Пример: ~/Qt/5.14.0/gcc_64/bin/qmake -r
- make -j$(nproc)
- make deploy
- эта команда требует установленный cqtdeployer
-
Если вы собираете cqtdeployer, используя qt из своего репозитория ОС, используйте только cqtdeployer, установленный из установщика github. Дело в том, что пакет моментальных снимков не имеет доступа к системным библиотекам.
- ./Distro/CQtDeployerInstaller.run
Build для Windows (CMD)
- установите qt и qt QtInstallFrameWork из Установщик qt
- git clone https://github.com/QuasarApp/CQtDeployer.git
- cd CQtDeployer
- git submodule update --init --recursive
- SET PATH=C:/Qt/Tools/mingw730_64/bin;%PATH%
- Здесь важно настроить окружение qt.
- qmake.exe -r
- Здесь нужно обязательно вызвать тот qmake, который был загружен из 1го пункта.
- Пример: C:/Qt/5.14.0/mingw73_64/bin/qmake.exe -r
- migw32-make -j8
- migw32-make deploy
- эта команда требует установленный cqtdeployer
- ./Distro/CQtDeployerInstaller.exe
Snap
Особенности snap версии
В snap пакет не имеет доступ к системным библиотекам. Это значит что опции deploySystem не будут работать. Так же это значит что нсли вы в ручную укажите libDir или extraLib, то библиотеки находящиеся не в home не будут найдены. Если вам мешают эти ограничения используйте Установщик класической версии приложения.
Если вы используете snap версию приложения. Включите все разрешения для cqtdeployer. это можно сделать в snap-store Или начиная с ubuntu 20.04 в менеджере натроек приложений ubuntu.
Установить
Вы можете загрузить последнюю версию приложения здесь.
Проекты использующие CQtDeployer :
Пожертвовать
Если вы хотите помочь проекту, то вы можете пожертвовать небольшую сумму на наш биткойн-кошелек.
Биткойн-адрес - 1NJNbDKmezcUcHRfzpBeq2fHeG21oEKX8Q
Благодарность
- Большое спасибо Trail of Bits за их библиотеку pe-parser. Все работает отлично.