linux打包文件_Linux学习笔记:在linux下用打包发布可执行文件的两种方法

        我们在linux下编写代码时,会用到一些额外的库(动态或者静态),如小编在qt下写opencv的程序,是在电脑上,项目需求,需要将其移植到嵌入式板子上。小编这里提供一种简单的方法,将我们在电脑上开发好的程序,可以打包复制到其他只要是Linux系统就可以运行,不需要再配置复杂的开发环境。

方法一:通过sh脚本

这里小编用qt下写的一个opencv程序示例:1.利用qt生成可执行文件,使用release的方式编译出可执行文件,然后新建一个文件夹,将可执行文件拷贝进去备用。

c07718c890392b252d1027a85a9ae687.png

小编这里生成的文件是这样的:

a8caac04deb84350c282c0ef8f8c0de2.png

2.利用脚本文件2.1新建文件
2.1.1pask.sh
2.1.2test2.sh 这个脚本文件名必须和要发布的程序名字相同,所以为 Server新建文件后,文件夹包含内容如下:

e391cc6934577d5789a8c64b59f7502a.png

2.2 添加脚本向pack.sh文件里添加以下内容:

#!/bin/sh  exe="test2" #你需要发布的程序名称des="/home/shang/test" #创建文件夹的位置deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  cp $deplist $des

然后向test2.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 "$@"

执行脚本终端进入文件夹目录,运行:

sh ./pack.sh

可执行文件依赖的链接库将会拷贝到所在的目录,如图:

5d41c081d3eb8725495d472e3cd41b36.png

打包发布将上面整个文件夹,复制拷贝到其他linux系统,在文件夹路径内终端运行:

./test2.sh

方法二:利用linuxdeployqt将程序打包成应用

ps:这也是笔者更喜欢的方法,原因可看下图,整个程序包结构更加简洁和清晰:

186241547349b2fdb8b830416e9e351f.png

1、下载linuxdeployqt

github网址:

https://github.com/probonopd/linuxdeployqt/releases

4ff2d320b9e0c484f4a9ce851cfa8540.png

2、把下载的文件放入 /usr/local/bin 内,并执行如下命令使其可以运行

chmod 777 linuxdeployqt-6-x86_64.AppImage

3、把qmake的路径添加到环境变量中

sudo gedit /etc/profile在文件末尾添加:export PATH="/home/shang/Qt5.11.2/5.11.2/gcc_64/bin:$PATH"

具体的路径和qt版本需要自己查看

4、假如 receiver是QT release出来的可执行文件,执行如下语句可复制依赖的文件到当前目录

linuxdeployqt-6-x86_64.AppImage receiver -appimage

186241547349b2fdb8b830416e9e351f.png

至此就可以通过双击apprun或者receiver均可拷贝到其它任意一台linux电脑运行程序啦

长按下图关注机器人学习之路公众号,有超多资料和实用教程等你来,你的每次点赞和转发都是对我们最大的支持。如有疑问请加交流qq群:903013799。小编最近会更新一波关于基于aruco+ros+px4+gazebo的仿真和真机实飞系列视频教程,欢迎大家关注。

f97409c6f2038ba4787fe4d52591925e.png

往期精选:

如何用200元打造自己的4G数传模块

PX4学习之路--基于Gazebo的视觉导航仿真

PX4学习之路-日志分析工具之FlightPlot

APM学习笔记-基于ROS的-Gazebo仿真

Linux学习笔记-利用循环队列读取串口数据

ubuntu 16.04中文输入法安装

Ubuntu下github下载代码太慢,教你如何把下载速度提升到4-5M/s

Linux下利用脚本来增加访网站问量

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值