当前位置:首页|资讯|搜索引擎|通义千问

Qt 6 macOS App 打包踩坑记录

作者:Galaxy_955发布时间:2024-02-24

Qt 是一个跨平台的应用开发框架,而 Qt 官方也为 Windows, macOS, Linux 提供了官方的打包工具(例如在 macOS 上就是 macdeployqt),但是在 macOS 上打包还是踩尽了坑,问遍了国内外所有的 AI 和搜索引擎,耗时 3 天,最终在通义千问的启发下终于破圈,这波通义千问遥遥领先立大功。以下内容为本次使用 Qt 6 打包 macOS 应用的踩坑记录,希望能对大家有所帮助,也起到一个备忘的作用。

一、依赖库缺失的问题

困扰指数:⭐️

App 报错缺少 libsharpyuv.0.dylib 动态链接库

这个问题不难解决,互联网上资料也相当多,在这里只是提一嘴。如果打包之后出现程序崩溃,macOS 会给出报错告知程序缺什么依赖库,只需要找到对应的依赖库拷贝到 YourApp.app/Contents/Frameworks 即可解决。或者也可以通过 otool 和 install_name_tool 工具修改相关依赖库的地址解决。

二、qt.qpa.plugin: Couldn't find the Qt platform plugin "cocoa" in "" 问题

困扰指数:⭐️⭐️

qt.qpa.plugin: Couldn't find the Qt platform plugin "cocoa" in "" 问题

出现该问题的原因是没有设置 QT_QPA_PLATFORM_PLUGIN_PATH 变量的值,所以报错信息后面一个引号里面是空值。找到 Qt 目录下 libqcocoa.dylib 的目录然后使用设置为 QT_QPA_PLATFORM_PLUGIN_PATH 的值即可解决问题。

三、Qt 组件没有安装问题

困扰指数:⭐️⭐️⭐️⭐️⭐️

Qt 组件 Material 没有安装

以上所有问题都解决之后如果你使用的是 Qt 6 开发应用程序,还有可能碰到这个问题,单就这个问题就困扰了我两天,问遍国内外所有的 AI,搜遍国内外所有的资料(包括常用的 GitHub, Stackoverflow 以及 Qt 官方的文档等),我甚至已经开始尝试走起了用 CMake 生成 Xcode 工程文件使用 Xcode 打包的邪路,最终才在通义千问的启发下找到解决办法。

出现这个问题是因为 macdeployqt 这个打包工具是为 Qt 5 准备的(准确点说应该是 Qt 5.15),所以出现了不兼容的情况,要想打包使用 Qt 6 开发的软件需要使用同目录下的 macdeployqt6 工具,官方文档都没有提到有这个东西😡!

更多未尽的打包 macOS Qt 软件的内容可以参考官方文档:https://doc.qt.io/qt-6/macos-deployment.html


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1