Создать исполняемый файл из Linux с использованием Qt 5, C ++ и OpenCV - PullRequest
1 голос
/ 21 июня 2020

Я пытался развернуть исполняемую версию своей программы, я пробовал разными способами, например,

  1. Запуск в режиме выпуска
  2. linuxdeployqt инструмент
  3. GitHub + Jenkins

но у меня это не сработало, я могу развернуть программу в среде разработки, но мне нужно установить его на разных компьютерах. Если возможно, создать версию для Windows (потому что университет, для которого я ее разработал, просит об этом)

Я использую Qt 5.9.5, g cc 7.5.0, CMake 3.10. 2, GDB 8.1.0, OpenCV 4.1.1 и SO Linux Mint 19.1 Tessa.

Ответы [ 2 ]

1 голос
/ 21 июня 2020

Я бы посоветовал вам попробовать использовать CQtDeployer из https://github.com/QuasarApp/CQtDeployer

Вы можете найти руководство по установке в этом видео , даже если оно не на английском языке sh язык, там все пошагово описано.

Надеюсь, что у вас сработает.

0 голосов
/ 21 июня 2020

Как развернуть проект с помощью cqtdeployer.

  1. Сначала вам нужно установить cqtdeployer на вашу платформу

    • Snap (еще 14 linux размещений) :
    sudo snap install cqtdeployer
    

    Или

    Установить из магазина моментальных снимков и добавить все необходимые разрешения.

    Download from Snap Store

    chmod +x LinuxInstaller.run
    ./LinuxInstaller.run
    
  2. Создайте свой проект в режиме выпуска.

  3. Развернуть исполняемый файл.

    • Для систем Linux:
    cqtdeployer -bin myexecutable
    
    • Для систем Windows:
    cqtdeployer -bin myexecutable.exe -qmake C:/Qt/5.15.0/min_gw/bin/qmake.exe
    
    • Для кроссплатформенной сборки (Linux -> Windows)
    cqtdeployer -bin myexecutable.exe -qmake ~/crossbuildet-Qt/5.15.0/min_gw/bin/qmake
    

Дополнительные параметры

Если вы используете дополнительные библиотеки. просто добавьте путь для cqtdeployer к используемым библиотекам.

cqtdeployer -bin myexecutable -libDir /PathToMyExtraLibs 

Если вы хотите найти библиотеки рекурсивно из пути libDir, просто добавьте параметр recursiveDepth.

cqtdeployer -bin myexecutable -libDir /PathToMyExtraLibs -recursiveDepth 5

Если вы используете приложение qml, просто добавьте qmlDir option

cqtdeployer -bin myexecutable -libDir /PathToMyExtraLibs -recursiveDepth 5 -qmlDir /path/to/my/qml/sources

Если вы хотите создать простой установщик для вашего приложения, просто добавьте опцию qif.

cqtdeployer -bin myexecutable -libDir /PathToMyExtraLibs -recursiveDepth 5 -qmlDir /path/to/my/qml/sources qif

Если вы используете системные библиотеки из системного PATH, просто добавьте опцию deploySystem.

Предупреждение: версия snap не имеет разрешений на системные файлы. Для развертывания системных библиотек используйте версию cqtdeployer из установщика
cqtdeployer -bin myexecutable -libDir /PathToMyExtraLibs -recursiveDepth 5 -qmlDir /path/to/my/qml/sources qif deploySystem

Если у вас возникли проблемы с использованием cqtdeployer, задавайте вам вопросы на официальной странице github .

Дополнительные параметры CQtDeploye см. В официальной документации .

...