欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > 从0到1:QT项目在Linux下生成可以双击运用的程序(采用脚本)

从0到1:QT项目在Linux下生成可以双击运用的程序(采用脚本)

2025/11/11 21:43:24 来源:https://blog.csdn.net/weixin_73690807/article/details/143092517  浏览:    关键词:从0到1:QT项目在Linux下生成可以双击运用的程序(采用脚本)

目录

一.创建项目

二.安装linuxdeployqt

三.linuxdeployqt打包

 四.写一个脚本,并且双击脚本就可以运行程序

五、展示效果

六 、扩展性


一.创建项目

        这里我们任选qt的例子当项目

                                                                图1 创建项目

                                                                图2 运行效果

二.安装linuxdeployqt

1.安装patchelf和cmake

sudo apt install patchelf
sudo apt-get install cmake

2.打开.bashrc,添加qt环境.(下面是我添加的路径,各位根据自己的路径自行修改)

#add Qt
#add QT ENV
export PATH=/home/abc/Qt/Qt_6_5/6.5.3/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/home/abc/Qt/Qt_6_5/6.5.3/gcc_64/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/home/abc/Qt/Qt_6_5/6.5.3/gcc_64/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/abc/Qt/Qt_6_5/6.5.3/gcc_64/qml:$QML2_IMPORT_PATH

添加保存完后,source一下。在命令行加入下面的代码

source ~/.bashrc

下载linuxdeployqt

git clone https://github.com/probonopd/linuxdeployqt.git

在linuxdeployqt目录下使用cmake

cmake CMakeLists.txt

再使用make

make

检测是否安装完成

./linuxdeployqt

复制文件linuxdeployqt

三.linuxdeployqt打包

release编译

        这里我出现了选择release后,release文件夹下没有可执行文件,原因是选择后还有点击绿色三角形运行

来到项目的release文件夹

将可执行文件复制到空白文件夹下,这里是cube

linuxdeployqt cube -appimage

打包完成

 四.写一个脚本,并且双击脚本就可以运行程序

#!/bin/bashsource /home/popo/.bashrc# 获取脚本所在的工作目录
workdir=$(cd "$(dirname "$0")"; pwd)
echo "当前工作目录: $workdir"# 设置环境变量,确保可以找到所需的库文件
export LD_LIBRARY_PATH="$workdir:$LD_LIBRARY_PATH"
#add Qt
#add QT ENV
export PATH=/home/popo/Qt/Qt_6_5/6.5.3/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/home/popo/Qt/Qt_6_5/6.5.3/gcc_64/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/home/popo/Qt/Qt_6_5/6.5.3/gcc_64/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/popo/Qt/Qt_6_5/6.5.3/gcc_64/qml:$QML2_IMPORT_PATH# 切换到工作目录
cd "$workdir" || { echo "无法切换到目录: $workdir"; exit 1; }# 运行 cube 程序,并捕获任何错误
if [ -f "./cube" ]; thenecho "正在运行 cube..."./cube
elseecho "找不到 cube 可执行文件。"exit 1
fi# 检查 cube 是否成功运行
if [ $? -eq 0 ]; thenecho "cube 运行成功。"
elseecho "cube 运行失败。"exit 1
fi

踩坑经历: 注意要把qt的环境加入到脚本中,否则可嫩出现命令窗口运行脚本是OK的,但是双击运行脚本显示黑屏幕

如何调试发现双击运行执行脚本的错误

1、安装 dconf-editor

sudo apt-get install dconf-editor

2、安装完成后直接输入dconf-editor打开dconf-editor

dconf-editor

3、org->gnome->natuilus->preferences->executable-text-activation

关闭使用默认值   自定义值改为ask  

4、对脚本加上可执行权限,双击后会出现询问窗口

5、选择终端运行

五、展示效果

、扩展性

如果将脚本放置桌面

修改脚本中的workdir=$(cd "$(dirname "$0")"; pwd)

改为固定路径

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词