本文参考自: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 下打包可执行程序相关推荐

  1. linux下打包C++ Qt可执行程序出现的问题总结

    linux下打包C++ Qt可执行程序 零.问题描述 一.出现的问题和解决方法 二.通过配置脚本设置环境变量 零.问题描述 最近在搞linux下打包程序,由于使用了Qt相关的函数接口,出现了很多Qt相 ...

  2. Linux下打包压缩war和解压war包 zip和jar

    ============jar================= 把当前目录下的所有文件打包成game.war jar -cvfM0 game.war ./ -c   创建war包 -v   显示过程 ...

  3. Linux下打包压缩war、解压war包和jar命令

    环境 RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62 问题 Linux下打包压缩war.解压war包和jar命令 解决 把project_a文 ...

  4. Linux下打包命令tar

    Linux下打包命令tar Linux下最常用的打包程序是tar,用tar命令打成的包文件通常以.tar结尾 1.名词解释 打包:是指将若干文件,目录合成一个文件,可以理解为装到一个文件里去了: 压缩 ...

  5. 打包文件linux,Linux下打包命令tar

    Linux下打包命令tar Linux下最常用的打包程序是tar,用tar命令打成的包文件通常以.tar结尾 1.名词解释 打包:是指将若干文件,目录合成一个文件,可以理解为装到一个文件里去了: 压缩 ...

  6. Linux下打包qt程序,可以发布到一台纯净的linux发行版系统上

    1.把你要发布的程序单独放到一个文件夹下 2.在文件夹下创建一个sh脚本名为pack.sh 输入以下内容 #!/bin/sh exe="app" #你需要发布的程序名称 des=& ...

  7. ubuntu/linux下打包压缩war、解压war包和jar命令

    把project_a文件夹下的文件打包成project.war 1.      打包 jar -xvf project.war /project_a -c  创建war包 -v  显示过程信息 -f  ...

  8. linux下打包和解包、解压和压缩

    常用Linux 命令: 解压缩tar命令 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) 压 ...

  9. Linux 下打包报错:enospc (no space left on device)

    昨天打了个包,早上发现很多页面js加载404,一查原来打包的min文件夹下是空的,打包出错了 Error code: enospc du -sh *rm -f 文件名称 rm -rf 目录名称 前端服 ...

最新文章

  1. 非计算机专业想学习Python,有哪些问题需要注意?
  2. Android程序签名打包 什么是签名,有什么用:
  3. 数据库连接池-连接的关闭内幕
  4. 从714里连续减去6减几次得0_数学干货 | 小学数学1—6年级基础知识整理 ,预习复习都能用...
  5. 图鸭科技重金揽才-深度学习优化研究员
  6. 兔子问题JAVA编程题
  7. 三星死守中国市场,强撑溢价难挽回颓势吗?
  8. 黑鲨helo支持html吗,黑鲨游戏手机Helo综合评测 到底值不值得买
  9. 常见函数式接口及其lambda实现样例
  10. Paint方法总结(二):着色渲染器Shader
  11. MyBatis中解决字段名与实体类属性名不相同的冲突
  12. c语言编译器中输出虚线,请教:c语言中用什么命令画虚线
  13. React使用高德地图
  14. 基于android的社团管理app
  15. 2021最新苹果CMS影视站全站模板100+套模板分享下载
  16. Vissim和Matlab联合仿真的实现方法
  17. 【转载】R6034错误,C Runtime Error
  18. 【定时任务】- 基础篇
  19. ES查询中有should的组合查询应注意minimum_should_match
  20. Spring——IOC(Inversion of Control)容器(2)

热门文章

  1. 对话即平台,一场对长尾理论的逆向革命
  2. 阿卡迪亚大学计算机科学专业,阿卡迪亚大学世界排名解读
  3. python走迷宫_Python使用Tkinter实现机器人走迷宫
  4. 将python代码转换为flowchart代码
  5. 环信的使用以及注意事项!
  6. 解决win10新装系统无法登录微软账户及microsoft store
  7. 简单投资组合净值的计算
  8. 电平转换小结(避免翻车指南)
  9. 汽车电子——常见的英文缩写(更新中)
  10. 程序员双手飞快敲键盘的时候是在敲代码吗?