Linux下的软件打包发布

以Raspbian环境下的QT Creator为例:

1.在release下编译运行程序

在这里插入图片描述
设置好release下的编译路径,方便找到编译生成的可执行文件
在这里插入图片描述

2.将编译生成的可执行文件放入另一个文件夹

编译运行成功后,在编译路径中可以找到一个以工程名命名的可执行文件
在这里插入图片描述
将该文件复制到一个新的文件夹

3.可执行文件的目录下新建pack.sh文件

在文件夹目录下打开终端,执行

sudo touch pack.sh
sudo vi pack.sh

在pack.sh中输入

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

4.新建broadcast.sh和start.sh

第一个sh文件的名字应与生成的可执行文件的名字保持一致
打开终端,执行

sudo touch broadcast.sh
sudo touch start.sh

编辑broadcast.sh

sudo vi broadcast.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 "$@"

编辑start.sh

sudo vi start.sh

扫描二维码关注公众号,回复: 8837906 查看本文章

输入

#!/bin/sh
cd /home/pi/Desktop/broadcast_release
sudo ./broadcast.sh

5.执行pack.sh,打包成功

在终端中执行
sudo ./pack.sh
可以看到文件夹内多了很多文件
没有提示错误即打包成功

6.测试程序是否可以运行

在终端中执行
./start.sh
若成功,则运行该程序
若失败,则重新执行以上几步,或者寻找其他方式打包发布

至此,程序打包全部结束,文件夹中包含了程序全部的执行文件、环境等,只需要将该文件夹打包发布到其他对应机器上即可运行成功。

发布了4 篇原创文章 · 获赞 0 · 访问量 286

猜你喜欢

转载自blog.csdn.net/weixin_42886143/article/details/104080595