linux 下打包可执行程序
本文参考自:https://blog.csdn.net/weixin_43053387/article/details/88080577
首先创建可执行文件的文件夹,我们打包的可执行文件依赖的动态库都会被打包到该文件下。
将可执行文件MyApp拷贝到该目录下.
mkdir release_dir
cp MyApp release_dir
进入该文件夹下,创建打包脚本文件,将exe变量改为对应的可执行文件名称
#!/bin/sh#你需要发布的程序名称
exe="MyApp"#可执行程序所在目录
des=$PWDdeplist=$(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
遇到的问题:
若执行程序出现段错误,可能是因为导出的共享库与系统的共享库发生了冲突,将发生冲突的共享库删掉就行了(删掉导出的共享库)
linux 下打包可执行程序相关推荐
- linux下打包C++ Qt可执行程序出现的问题总结
linux下打包C++ Qt可执行程序 零.问题描述 一.出现的问题和解决方法 二.通过配置脚本设置环境变量 零.问题描述 最近在搞linux下打包程序,由于使用了Qt相关的函数接口,出现了很多Qt相 ...
- Linux下打包压缩war和解压war包 zip和jar
============jar================= 把当前目录下的所有文件打包成game.war jar -cvfM0 game.war ./ -c 创建war包 -v 显示过程 ...
- Linux下打包压缩war、解压war包和jar命令
环境 RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62 问题 Linux下打包压缩war.解压war包和jar命令 解决 把project_a文 ...
- Linux下打包命令tar
Linux下打包命令tar Linux下最常用的打包程序是tar,用tar命令打成的包文件通常以.tar结尾 1.名词解释 打包:是指将若干文件,目录合成一个文件,可以理解为装到一个文件里去了: 压缩 ...
- 打包文件linux,Linux下打包命令tar
Linux下打包命令tar Linux下最常用的打包程序是tar,用tar命令打成的包文件通常以.tar结尾 1.名词解释 打包:是指将若干文件,目录合成一个文件,可以理解为装到一个文件里去了: 压缩 ...
- Linux下打包qt程序,可以发布到一台纯净的linux发行版系统上
1.把你要发布的程序单独放到一个文件夹下 2.在文件夹下创建一个sh脚本名为pack.sh 输入以下内容 #!/bin/sh exe="app" #你需要发布的程序名称 des=& ...
- ubuntu/linux下打包压缩war、解压war包和jar命令
把project_a文件夹下的文件打包成project.war 1. 打包 jar -xvf project.war /project_a -c 创建war包 -v 显示过程信息 -f ...
- linux下打包和解包、解压和压缩
常用Linux 命令: 解压缩tar命令 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) 压 ...
- Linux 下打包报错:enospc (no space left on device)
昨天打了个包,早上发现很多页面js加载404,一查原来打包的min文件夹下是空的,打包出错了 Error code: enospc du -sh *rm -f 文件名称 rm -rf 目录名称 前端服 ...
最新文章
- 非计算机专业想学习Python,有哪些问题需要注意?
- Android程序签名打包 什么是签名,有什么用:
- 数据库连接池-连接的关闭内幕
- 从714里连续减去6减几次得0_数学干货 | 小学数学1—6年级基础知识整理 ,预习复习都能用...
- 图鸭科技重金揽才-深度学习优化研究员
- 兔子问题JAVA编程题
- 三星死守中国市场,强撑溢价难挽回颓势吗?
- 黑鲨helo支持html吗,黑鲨游戏手机Helo综合评测 到底值不值得买
- 常见函数式接口及其lambda实现样例
- Paint方法总结(二):着色渲染器Shader
- MyBatis中解决字段名与实体类属性名不相同的冲突
- c语言编译器中输出虚线,请教:c语言中用什么命令画虚线
- React使用高德地图
- 基于android的社团管理app
- 2021最新苹果CMS影视站全站模板100+套模板分享下载
- Vissim和Matlab联合仿真的实现方法
- 【转载】R6034错误,C Runtime Error
- 【定时任务】- 基础篇
- ES查询中有should的组合查询应注意minimum_should_match
- Spring——IOC(Inversion of Control)容器(2)