linux 下打包可执行程序

本文参考自:https://blog.csdn.net/weixin_43053387/article/details/88080577

首先创建可执行文件的文件夹,我们打包的可执行文件依赖的动态库都会被打包到该文件下。

将可执行文件MyApp拷贝到该目录下.

mkdir release_dir
cp MyApp release_dir

进入该文件夹下,创建打包脚本文件,将exe变量改为对应的可执行文件名称

#!/bin/sh

#你需要发布的程序名称
exe="MyApp"

#可执行程序所在目录
des=$PWD

deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des

然后给脚本文件可执行权限,然后在该目录下运行脚本,会将依赖的共享库都拷贝到该目录下

chmod a+x pack.sh
./pack.sh

之后创建执行脚本MyApp.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 "$@"

之后我们就可以在终端中执行该脚本来运行程序

./MyApp.sh

遇到的问题:

若执行程序出现段错误,可能是因为导出的共享库与系统的共享库发生了冲突,将发生冲突的共享库删掉就行了(删掉导出的共享库)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值