帮助网站源码,企业网站模板下载哪家好,网站建设常见问题及解决办法,平谷青岛网站建设Qt应用编译时选择release方式编译
目的#xff1a;debug方式编译依赖的文件会多一些#xff0c;同时文件大小还会很大。
Notice: 所有操作都是在当前用户下#xff0c;如果是root账户#xff0c;需要注意加上sudo#xff0c;否则会因为权限问题提取依赖文件失败。
准备…Qt应用编译时选择release方式编译
目的debug方式编译依赖的文件会多一些同时文件大小还会很大。
Notice: 所有操作都是在当前用户下如果是root账户需要注意加上sudo否则会因为权限问题提取依赖文件失败。
准备
在Ubuntu当前用户目录下创建一个目录
garygary-host:~$ mkdir QtAppDeploy创建脚本ldd_copy.sh用于拷贝应用的关联文件
#!/bin/sh
exeyourdemoname #你需要发布的程序名称
des/home/gary/QtAppDeploy #创建文件夹的位置
deplist$(ldd $exe | awk {if (match($3,/)){ printf(%s ),$3 } })
cp $deplist $des创建运行脚本yourdemoname.sh最终用来运行你的应用程序
#!/bin/sh
appnamebasename $0 | sed s,\.sh$,,
dirnamedirname $0
tmp${dirname#?}
if [ ${dirname%$tmp} ! / ]; then
dirname$PWD/$dirname
fi
LD_LIBRARY_PATH$dirname
export LD_LIBRARY_PATH
$dirname/$appname $修改脚本权限为可执行
chmod x ldd_copy.sh
chmod x yourdemoname.sh提取依赖包
提取应用程序的依赖包
将ldd_copy.sh复制到应用程序的编译目录下
$ cp ./ldd_copy.sh home/gary/yourprojectname/build-yourdemoname-Desktop_Qt_5_15_2_GCC_64bit-Release执行脚本提取依赖包到QtAppDeploy
$ ./ldd_copy.sh yourdemoname提取QT platform平台xcb的依赖库文件
将上面的ldd_copy.sh复制到QT的安装目录下的plugins/platforms比如
$/home/gary/Qt/5.15.2/gcc_64/plugins/platforms将脚本里的exe“yourdemoname” 改为如下
exelibqxcb.so 执行脚本将会把xcb依赖库拷贝到你的QtAppDeploy目录下 将整个platforms文件夹复制目录QtAppDeploy中即在QtAppDeploy目录下多一个platforms文件夹
提取其他需要的依赖文件
支持不同格式图片的库文件支持中文输入的库文件 将下面两个插件对应的文件夹复制到QtAppDeploy目录下:
$/home/gary/Qt/5.15.2/gcc_64/plugins# ls
imageformats、platforminputcontexts
$/home/gary/Qt/5.15.2/gcc_64/plugins#cp imageformats platformimputcontexts /home/gary/QtAppDeploy -ar见证奇迹
在创建的QtAppDeploy目录下运行yourdemoname.sh, 就可以看到yourdemoapp应用程序运行起来了, cheers~~
$QtAppDeploy# ./yourdemoname.sh设置双击启动应用程序并添加图标
Ubuntu22.4的桌面图标在/usr/share/applications中在改目录下创建“双击启动应用程序”的脚本如下更多介绍可以参考目录下自带的桌面启动程序的脚本以葫芦画瓢
$/usr/share/applications# sudo vim yourdemoname.desktop
[Desktop Entry]
Version4.0
TypeApplication
Name TestXX #程序在桌面的名称可以随便写
CommentQT Create #注释可以随便写
Exec/home/gary/QtAppDeploy/yourdemoname.sh %F #应用程序的路径
Icon/home/gary/QtAppDeploy/yourdemo.png #桌面应用程序图标
Terminalfalse
StartupNotifytrue
CategoriesApplication最后使用ubuntu22.04的文件管理器gedit打开/usr/share/applications然后右击刚才创建的yourdemoname.desktop选择“Copy to…将她复制到桌面目录/home/gary/Desktop即可然后在Ubuntu22.04的桌面双击即可打开应用程序。