- 使用脚本获取可执行程序所依赖的库
新建一个文件夹,将自己编写的可执行程序单独放入
新建脚本文件copy.sh,里满写入以下代码
#!/bin/sh
exe="smartcar" #你想要发布的可执行文件名称
des="/home/zsx/logistics_ws/src/ui" #你的可执行文件的路径
deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des
- 生成桌面快捷方式,并设置图标
2.1 设置.desktop文件
在桌面上建立一个后缀为.desktop的文件,文件名任意(这里为a),里面写入以下代码
[Desktop Entry]
Version=1.0
Name=car #桌面图标名字
Comment=myqtapp #桌面图标介绍,随意即可
Exec=/home/car #可执行程序绝对路径
Icon=/home/car.png #桌面图标的绝对路径
Terminal=false #运行时是否打开终端
Type=Application
Categories=Application;
StartupNotify=true
X-Desktop-File-Install-Version=0.22
2.2 生成快捷方式
赋予.desktop可执行权限
sudo chmod 777 a.desktop
执行
./a.desktop
注:
1,不同的Linux下,执行可能失败,例如银河麒麟下执行时,提示[Desktop:未找到命令,可直接忽略该问题,观察桌面图标是否正常。
2,对于大型程序,.desktop文件中的“Exec=/home/car #可执行程序绝对路径”可以改写为“Exec=/home/car/run.sh #启动脚本的绝对路径”,启动脚本创建步骤如下:
1)在可执行程序文件夹中创建新的文本文档,重命名为“run.sh”
2) 在run.sh 中写入以下脚本:
#! /bin/bash
cd /home/... #目标APP绝对路径
source /etc/profile #当每次启动程序,需要配置环境变量时,加上该句;其他情况取消该行
./*** -e #***为可执行程序的名字,-e是因为程序使用qtservice启动的,其他情况可删除“-e”
完成
————————————————