Linux环境将Qt可执行文件制作为deb文件

一、安装linuxdeployqt

github直接下载编译好的 linuxdeployqt-x86_64.AppImage 应用程序文件。
在这里插入图片描述

下载好之后,将其改名为linuxdeployqt,并chmod +x,然后复制到 /usr/local/bin/。然后命令行输入 linuxdelpoyqt --version,查看是否安装成功,若输出版本信息表示安装成功。

$ chmod +x linuxdeployqt-x86_64.AppImage
$ mv linuxdeployqt-x86_64.AppImage linuxdeployqt
$ mv linuxdeployqt /usr/local/bin
$ linuxdelpoyqt --version
#输出的版本信息,详细信息可能不一样
linuxdeployqt  (commit aeafcd2), build 13 built on 2022-01-28 22:37:07 UTC

二、配置 qt 的环境变量

终端输入vim ~/.bashrc命令,修改 .bashrc 文件,在文件末尾追加以下内容,其中/home/robot/Qt5.9.9/5.9.9是我的Qt安装路径,大家要用自己的路径代替:

export PATH=/home/robot/Qt5.9.9/5.9.9/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/home/robot/Qt5.9.9/5.9.9/gcc_64/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/home/robot/Qt5.9.9/5.9.9/gcc_64/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/robot/Qt5.9.9/5.9.9/gcc_64/qml:$QML2_IMPORT_PATH

最后要source一下使 ~/.bashrc 这个shell文件立即生效,而不必注销并重新登录.

$ source ~/.bashrc

三、打包应用程序

(1)运行Qt生成release版本的可执行文件,勾选了“shadow build”,

在这里插入图片描述

所以我的是build-untitled1-Desktop_Qt_5_9_9_GCC_64bit-Release文件夹下的untitled1可执行文件,这里的untitled1是我的程序名,选择你们自己的就可以了;

(2)创建一个文件夹,名称最好是用可执行文件的名称,然后将untitled1可执行文件复制到此文件夹下;

(3)使用 linuxdeployqt 进行打包,一定要加上-appimage选项,命令如下:

#linuxdeployqt:工具
#untitled1:可执行文件
#-appimage:参数选项
$ linuxdeployqt untitled1 -appimage

执行上面命令出现提示信息,不用管,只是创建了一个需要你自己编辑的desktop文件:

ERROR: Desktop file missing, creating a default one (you will probably want to edit it)

到这一步,就把可执行文件的动态库等依赖文件都复制到该文件夹中了。

四、编写linux桌面图标启动

修改qt 目录下的desktop文件。可以按照ubuntu 官方提示修改。ubuntu desktop文件使用

#-- 全局安装(所有用户可用),将xxx.desktop 复制到/usr/share/applications
#-- 当前用户可用, 将xxx.desktop 复制到 ~/.local/share/applications 目录即可
#--appName.desktop
[Desktop Entry]
Version=1.0 #app的版本
Name=untitled1 #app的名字
Comment= this app use for xxx #说明信息
Exec=/path/to/your/QtApp/cleanRobot #app的执行路径,绝对路径
Icon=/path/to/your/app_icon/cleanRobot.ico #icon 路径,绝对路径
Terminal=false #是否在终端启动,效果自己试一下就知道了
Type=Application
Categories=Utility;Application;

五、编写开机脚本 runApp.sh

执行以下命令,创建runApp.sh:

$ vim runApp.sh

写入以下内容:

#!/bin/bash
export LD_LIBRARY_PATH=/app/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/app/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/app/qml:$QML2_IMPORT_PATH
./untitled1

再给运行开机脚本runApp.sh添加可执行权限:

$ chmod +x runApp.sh

六、打包成deb包

deb是Debian Linux的软件包格式。一般来说是需要通过编译源码然后制作deb包,而这里是将前面生成的发布文件夹打包成deb包。步骤如下:

  • 首先建立一个工作目录,比如在主文件夹下建立clean目录:
$ cd ~
#名字可以随便取,中文除外
$ mkdir clean
$ cd clean

因为安装软件包的时候默认是将文件释放到根目录下,所以我们这里设定安装路径为/usr/src,我们也可以自定义路径:

$ mkdir -p usr/src #设定安装路径为/usr/src
$ cp -a ~/untitled1 usr/src

同时我们还需建立一个DEBIAN目录,在DEBIAN目录下创建一个control文件,并加入以下内容:

$ mkdir DEBIAN
$ cd DEBIAN
$ vim control
#向 control 写入以下文本
package: untitled1
Version: 1.0.1
Section: utils
Priority: optional
Architecture: amd64
Depends:
Installed-Size: 4096
Maintainer: fengMisaka
Description: untitled1-deb
$cd ..

然后就可以使用dpkg命令构建deb包了,生成的包在/home/robot目录下:

$ dpkg -b . /home/robot/untitled1.0.1_amd64.deb

安装deb包命令如下:

$ sudo dpkg -i untitled1.0.1_amd64.deb

就可以看到/usr/src多出了个untitled1目录,运行脚本即可。

$ cd /usr/src
$ cd untitled1
$ ./runApp.sh
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装Qt 首先需要安装Qt,可以通过以下命令进行安装: ``` sudo apt-get install qt5-default ``` 2. 编写Qt程序 编写Qt程序并进行编译,生成可执行文件。 3. 创建Debian目录结构 在程序的根目录下创建一个名为`debian`的目录,该目录中需要包含以下文件: - control:描述软件包的元数据,包括软件包名称、版本、依赖关系等信息。 - changelog:软件包的更改日志。 - rules:打包软件包的规则。 - compat:指定打包软件包所使用的debhelper版本。 可以通过以下命令创建Debian目录结构: ``` dh_make --createorig ``` 4. 编辑control文件 编辑`debian/control`文件,需要包含以下内容: ``` Source: package-name Section: devel Priority: optional Maintainer: Your Name <youremail@domain.com> Build-Depends: debhelper (>= 9), qt5-default Standards-Version: 3.9.3 Package: package-name Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Description of package-name ``` 其中,`package-name`需要替换为软件包的名称,`Maintainer`需要替换为你的名字和邮箱地址,`Description`需要替换为软件包的描述。 5. 编辑changelog文件 编辑`debian/changelog`文件,需要包含以下内容: ``` package-name (version) distribution; urgency=low * Initial release. -- Your Name <youremail@domain.com> Wed, 01 Jan 2020 00:00:00 +0800 ``` 其中,`package-name`需要替换为软件包的名称,`version`需要替换为软件包的版本号,`distribution`需要替换为Linux发行版的名称,`Your Name`和`youremail@domain.com`需要替换为你的名字和邮箱地址。 6. 编辑rules文件 编辑`debian/rules`文件,需要包含以下内容: ``` #!/usr/bin/make -f %: dh $@ ``` 7. 编辑compat文件 编辑`debian/compat`文件,需要包含以下内容: ``` 9 ``` 8. 打包程序 在程序的根目录下运行以下命令进行打包: ``` debuild -us -uc ``` 该命令将在当前目录下生成一个`.deb`文件,即为打包好的软件包。 至此,将Qt程序打包deb的步骤就完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值