Linux系统下Qt程序的打包
作者:互联网
在Linux用Qt开发的程序,如果想要在别的Linux主机上运行,那么需要把可执行程序和所依赖的链接库都打包才可以。
1、编译文件
在Qt中使用release的方式编译出可执行文件。
2、创建脚本
(1).创建copy_libs.sh拷贝可执行程序以及所依赖的链接库到指定目录下
#!/bin/sh appName="HelloWorld" #可执行程序的名称 appDir=$PWD/app mkdir $appDir #创建打包文件夹 cp $PWD/HelloWorld $appDir #将可执行程序拷贝到打包文件夹中 cp $PWD/HelloWorld.sh $appDir deplist=$(ldd $appName | awk '{if (match($3,"/")){ printf("%s "),$3 } }') #获取可执行程序所依赖的动态链接库 cp $deplist $appDir #将所依赖的动态库拷贝到打包文件夹中
(2).创建脚本HelloWorld.sh执行程序
#!/bin/sh appname=`basename $0 | sed s,\.sh$,,` dirname=`dirname $0` tmp="${dirname#?}" if [ "${dirname%$tmp}" != "/" ]; then dirname=$PWD/$dirname fi LD_LIBRARY_PATH=$dirname export LD_LIBRARY_PATH $dirname/$appname "$@"
执行./copy_libs.sh
依赖的动态库文件会拷贝到指定目录下,如下图所示:
执行./HelloWorld.sh运行可执行程序
标签:Qt,appDir,HelloWorld,PWD,sh,Linux,dirname,可执行程序,打包 来源: https://www.cnblogs.com/QingYiShouJiuRen/p/16541081.html