?1.先build一个relase版本。
2.复制可执行文件到一个新路径。
3.编写一个脚本
#!/bin/sh
exe="test" #你需要发布的程序名称
des="/home/someone/QtProject/build-test-Desktop-Release/Test" #步骤1中的目录即本文件所在目录
deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des
? ? 修改上面脚本里面的exe名称为正确的编译结果可执行文件名称,修改des路径为第二步复制的单独存放可执行文件的路径,chmod +x 给脚本可执行权限。
4.运行脚本,会自动的复制大量的引用的动态库到目标路径中。
5.创建debian安装目录,如setup,目录内的结构为
setup/
? ? ? ?-DEBIAN
? ? ? ?-/usr/share/applications
? ? ? ?-/usr/share/icons/
? ? ? ?-/opt/xxx公司英文名称/xxx产品英文名称/
? ? ?复制第二步创建的目录内的所有文件到上面的setup/opt/xxx公司英文名称/xxx产品英文名称/? ?里面,将来在目标机器安装就是会安装到/opt/xxx公司英文名称/xxx产品英文名称/? 这个目标里面里面去。
?6.创建control文件
? ? vi setup/DEBIAN/control
? ?
Package: xxxtray
Version: 1.0
Section: utils
Priority: optional
Architecture: arm64
Maintainer: xxx@xxx.com.cn
Description: this is a test program
?修改以上内容为你的正确值,arm64代表目标机器为arm64架构,amd64为x86架构
7.创建.desktop文件,这个是用来在类似于windows的开始菜单里面显示程序信息的文件,?
? ?vi setup/usr/share/applications/xxxtray.desktop
??
[Desktop Entry]
Type=Application
Version=1.0
Name=这是一个演示程序
GenericName=("xxxx demo service")
Exec=/opt/xxx公司英文名称/xxx英文产品名称/可执行文件名称
Icon=/usr/share/icons/xxxx.ico
? Name=这个是将来在开始菜单里面显示的名称,可以使用中文
? Exec=这个是到你的可执行文件的完整路径,注意这个是指的安装完成以后的目标路径
? Icon=这个是图标路径,下一步我们要在setup/usr/share/icons里面放上一个图标文件
8.提供一个图标文件,放置ico文件到setup/usr/share/icons里面,当然图标文件的路径和名称要和第7步里面的Icon=一致,这个也是目标机器的路径
9.打包就行了,到setup的上级路径,执行dpkg -b ./setup setup.deb?
10.测试安装? 将打包结果setup.deb复制到目标机器,执行sudo dpkg -i setup.deb就可以安装了。
? ? ? ? ?
? ??