(Plataforma Linux) ¿Cómo se ejecutan los programas compilados por Qt en otras computadoras sin Qt instalado? Este artículo le dirá la respuesta
Directorio de artículos
Compilar el proyecto
Aquí tomamos una rutina oficial como proyecto de destino y elegimos Release
la forma de compilar el proyecto.
Una vez completada la compilación, el programa se ejecuta automáticamente (como se muestra en la figura a continuación), encuentra la ubicación del archivo ejecutable (que se puede encontrar en el directorio de compilación del proyecto),
Copie el archivo ejecutable por separado y colóquelo en una carpeta vacía,
El archivo no se puede ejecutar en este momento,
Configurar las variables de entorno de Qt
Abra ~/.bashrc
, agregue la variable de entorno Qt al final (configure de acuerdo con su propio directorio 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
Después de guardar, ingrésalo en la terminal source ~/.bashrc
o reinicia la computadora para que surta efecto.
descargar linuxdeployqt
Vaya a github para descargar directamente el archivo de linuxdeployqt-x86_64.AppImage
aplicación
Dirección de descarga: https://github.com/probonopd/linuxdeployqt/releases
ejecutar linuxdeployqt
Establézcalo linuxdeployqt-x86_64.AppImage
en permiso ejecutable y cópielo en el /usr/local/bin
directorio al mismo tiempo y, por cierto, cambie el nombre al mismo nombre,
Usar linuxdeployqt app -appimage
(la aplicación es un archivo ejecutable) para empaquetar,
La primera vez no tuvo éxito. Resultó que ubuntu venía con qmake
él, pero era solo un caparazón vacío. Necesitamos modificar manualmente qmake
la ruta.
Modifique /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
este archivo (configúrelo de acuerdo con su propio directorio Qt),
/opt/Qt5.12.9/5.12.9/gcc_64/bin
/opt/Qt5.12.9/5.12.9
Vuelva a ejecutarlo linuxdeployqt app -appimage
, aunque todavía se informan algunos errores, pero no afecta el uso.
En este punto, se han agregado muchos archivos de biblioteca al directorio de empaquetado y el archivo ejecutable también puede ejecutarse sin problemas (también puede ejecutarse en otros sistemas Linux sin Qt instalado):
Debido a la variedad de sistemas de distribución de Linux, es posible que los programas Qt compilados en ubuntu no se ejecuten necesariamente en otras distribuciones, incluso en el mismo sistema ubuntu. El programa que compilé en 16.04 puede ejecutarse en otros sistemas 16.04 (sin Qt instalado), pero no en 14.04.