(plataforma Linux) Como os programas compilados pelo Qt são executados em outros computadores sem o Qt instalado? Este artigo lhe dará a resposta
Diretório de artigos
Compilar o projeto
Aqui tomamos uma rotina oficial como projeto alvo e escolhemos Release
a forma de compilar o projeto.
Após a conclusão da compilação, o programa é executado automaticamente (como mostrado na figura abaixo), encontra a localização do arquivo executável (que pode ser encontrado no diretório de compilação do projeto),
Copie o arquivo executável separadamente e coloque-o em uma pasta vazia,
O arquivo não pode ser executado neste momento,
Configurar as variáveis de ambiente do Qt
Abra ~/.bashrc
, adicione a variável de ambiente Qt no final (definida de acordo com seu próprio diretório Qt)
#配置Qt环境变量
export PATH=$PATH:/opt/Qt5.12.9/5.12.9/gcc_64/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Qt5.12.9/5.12.9/gcc_64/lib
export QT_PLUGIN_PATH=$QT_PLUGIN_PATH:/opt/Qt5.12.9/5.12.9/gcc_64/plugins
export QML2_IMPORT_PATH=$QML2_IMPORT_PATH:/opt/Qt5.12.9/5.12.9/gcc_64/qml
Depois de salvar, insira-o no terminal source ~/.bashrc
ou reinicie o computador para entrar em vigor.
baixar linuxdeployqt
Vá para o github para baixar diretamente o arquivo do linuxdeployqt-x86_64.AppImage
aplicativo
Endereço de download: https://github.com/probonopd/linuxdeployqt/releases
execute linuxdeployqt
Defina linuxdeployqt-x86_64.AppImage
-o para permissão executável e copie-o para o /usr/local/bin
diretório ao mesmo tempo e, a propósito, renomeie o mesmo nome,
Use linuxdeployqt app -appimage
(app é um arquivo executável) para empacotar,
A primeira vez não foi bem sucedida. Acontece que o Ubuntu veio com qmake
ele, mas era apenas um shell vazio. Precisamos modificar manualmente qmake
o caminho.
Modifique /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
este arquivo (configure-o de acordo com seu próprio diretório Qt),
/opt/Qt5.12.9/5.12.9/gcc_64/bin
/opt/Qt5.12.9/5.12.9
Execute-o novamente linuxdeployqt app -appimage
, embora alguns erros ainda sejam relatados, mas isso não afeta o uso.
Neste ponto, muitos arquivos de biblioteca foram adicionados ao diretório de empacotamento, e o arquivo executável também pode ser executado sem problemas (também pode ser executado em outros sistemas Linux sem o Qt instalado):
Devido à variedade de sistemas de distribuição Linux, os programas Qt compilados no Ubuntu podem não necessariamente rodar em outras distribuições, mesmo no mesmo sistema Ubuntu. O programa que compilei em 16.04 pode ser executado em outros sistemas 16.04 (sem o Qt instalado), mas não em 14.04.