gpt4 book ai didi

c++ - 在 Mac 上部署 Qt 应用程序 : This application failed to start because it could not find or load the Qt platform plugin "cocoa" in ""

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:53 25 4
gpt4 key购买 nike

我正在尝试以可移植的方式部署 Qt 应用程序,但我有点卡在插件部署和 documentation 上。没有我希望的那么清楚。

起初,我从 macdeployqt 开始,但我收到以下消息:

WARNING: Could not find any external Qt frameworks to deploy in "Utility.app" 
WARNING: Perhaps macdeployqt was already used on "Utility.app" ?
WARNING: If so, you will need to rebuild "Utility.app" before trying again.

我按照 Qt5 cannot find platform plugins Mac OS X 中的建议检查了版本,但我没有看到任何证据表明我遇到了类似的问题(版本)。

所以,我开始手动做事,在复制必要的框架(那些由 otool -L 指出的)并删除指向我本地 Qt 的 LC_RPATH 条目后,我设法让事情在我的电脑上工作安装。

但是,我的插件有问题:如果我的应用程序中没有捆绑插件,它可以在本地运行,但不能在其他任何人的机器上运行。如果我在 Utilities.app/Contents/plugins/platforms 中捆绑 libqcocoa.dylib,则会收到以下错误:

This application failed to start because it could not find or load the Qt platform plugin "cocoa"
in "".

Available platform plugins are: cocoa, minimal, offscreen.

Reinstalling the application may fix this problem.

中止陷阱:6

特别好奇,因为我没有复制 minimal 或 offscreen 平台插件......

我也尝试在构建步骤中将 QT_QPA_PLATFORM_PLUGIN_PATH 设置为“../plugins/platforms”,但这似乎没有任何效果。我还在 qt.conf 文件中尝试了几种不同的设置,但无济于事。

一段时间以来,我一直在为此寻求几种不同的解决方案,但请随意。当然,我遗漏了什么。

最佳答案

尝试使用 install_name_tool 为应用程序包中的 qlibcocoa 插件设置 Qt 框架的路径,如下所示:

install_name_tool -change @rpath/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore MyApp.app/Contents/plugins/platforms/libqcocoa.dylib

libqcocoa.dylib 依赖于 QtCore、QtGui、QtWidgets、QtPrintSupport。它们都应该在 MyApp.app/Contents/Frameworks 中。

libqcocoa.dylib 应该在MyApp.app/Contents/plugins/platforms/libqcocoa.dylib

这对我有用。

关于c++ - 在 Mac 上部署 Qt 应用程序 : This application failed to start because it could not find or load the Qt platform plugin "cocoa" in "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47624198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com