Linux 下 qt 程序打包遇到的坑

2020-01-08 15:16:37 +08:00
 coolcokel

打包工具 linuxdeployqt 下载地址:下载链接: https://pan.baidu.com/s/1_PwD799jdgfX8g7Y-BhrQw 提取码: ugkv 安装 linuxdelpoyqt $ mv linuxdeployqt-x86_64.AppImage linuxdeployqt $ mv ./linuxdeployqt /usr/local/bin 安装 appimagetool 和 patchelf 同上 查询是否安装成功 1.linuxdeployqt --version linuxdeployqt 5 (commit 37631e5), build 631 built on 2019-01-25 22:47:58 UTC 2.appimagetool --version appimagetool, continuous build (commit 225057b), build 1874 built on 2018-10-21 12:21:27 UTC 3. patchelf --version patchelf 0.9

4.新建一个输出目录将 release 生成的可执行文件 MyApp 拷贝到当前目录并执行 linuxdeployqt MyApp -appimage 5.修改默认生成的 default.desktop 文件: [Desktop Entry] Version=1.0 Type=Application Name=MyApp Exec=MyApp Icon=logo Comment=programe Terminal=false Categories=Development; 重新执行 linuxdeployqt MyApp -appimage 生成 MyApp--x86_64.AppImage

接下来我想搞一个桌面快捷方式: 修该 default.desktop 文件名称与自己的可执行程序名字一致 MyApp.desktop 修改 Exec 为执行程序的绝对路径,Icon 为图标的绝对路径 [Desktop Entry] Version=1.0 Type=Application Name=MyApp Exec=/home/firstuser/4567/test_paint.demo/MyApp--x86_64.AppImage Icon=MyApp--x86_64.AppImage/logo.png Comment=programe Terminal=false Categories=Development; 结果在应用程序列表可以看到新添加的程序,但是点击没反应 请问 linux 下怎么打包发布 qt 程序并能创建桌面快捷方式?

1779 次点击
所在节点    问与答
4 条回复
codehz
2020-01-08 15:24:05 +08:00
用 xdg-open 执行一下那个 desktop 看报错
coolcokel
2020-01-08 15:40:34 +08:00
@codehz 这个地方报错了 Categories=Development;Development 字段有问题

上面少说了一步 MyApp.desktop 已经拷贝到 /usr/share/applications
coolcokel
2020-01-08 15:42:53 +08:00
@codehz (gedit:1400): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
coolcokel
2020-01-08 15:50:45 +08:00
gir1.2-gtksource-3.0 这个已经是最新的版本了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/636168

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX