EgoRusMarch
@EgoRusMarch
C++ Developer

Как создать исполняемый файл Qt в Linux?

Я перевел из отладки в выпуск внизу слева, собрал, пошёл искать файл, не нашёл. Искал в сети как выпустить, не нашёл.
Подскажите как, или где прочитать. Как правильно выпустить проект со статической компиляцией (в смысле, чтобы Qt не требовал свои библиотеки).
UPD: И ещё вопрос, можно ли будет запускать этот файл на любом дистрибутиве Линукса?
  • Вопрос задан
  • 3927 просмотров
Решения вопроса 2
Zoominger
@Zoominger
System Integrator
Он в каталоге Release вашего проекта.

UPD: И ещё вопрос, можно ли будет запускать этот файл на любом дистрибутиве Линукса?

Да, если там установлены библиотеки Qt.
Ответ написан
Вам необходимо задеплоить приложение, для этого я использую утилиту
сqtdeployer

Эта утилита сама собирает все необходимые зависимости вашего приложения, и вам не нужно тратить на это свое время, или вы можете автоматизировать этот процесс.

Вы можете установить из github выпусков (Windows)

или

из snapstore(Linux)

sudo snap install cqtdeployer

Вы можете использовать следующим образом:

* Windows:
%cqtdeployer% -bin myApp.exe -qmake path/to/Qt/5.x.x/build/bin/qmake.exe -qmlDir path/to/my/qml/files/dir


* Linux:
cqtdeployer -bin myAppю -qmake path/to/Qt/5.x.x/build/bin/qmake -qmlDir path/to/my/qml/files/dir


  • path/to/Qt/5.x.x/build/bin/qmake- это путь к qmake с помощью которого было собранно ваше приложение. в сборках с cmake нужно так же указать путь к qmake того qt с которым вы собирались. Это связанно с тем что qmake отдает cqtdeployer-у необходимое для сборки окружение.
  • path/to/my/qml/files/dir - это путь непосредственно к вашим qml файлам (который вы написали).
  • -qmlDir path/to/my/qml/files/dir - данный флаг можно исключить если вы не используете qml.


Запускать приложение нужно с помощью скрипта sh (Linux) или exe (Windows)

Если вы будете использовать версию из оснастки, убедитесь, что у вас есть все разрешения.

ALy01.png

Если вам нужно использовать версию Windows, просто установите приложение из installer
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы