以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
若成功,则运行该程序
若失败,则重新执行以上几步,或者寻找其他方式打包发布
至此,程序打包全部结束,文件夹中包含了程序全部的执行文件、环境等,只需要将该文件夹打包发布到其他对应机器上即可运行成功。