首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法运行OSX应用程序所创建的macdeployqt。使用融合样式时缺少Cocoa插件

无法运行OSX应用程序所创建的macdeployqt。使用融合样式时缺少Cocoa插件
EN

Stack Overflow用户
提问于 2015-11-25 06:18:49
回答 1查看 568关注 0票数 1

使用QT5.5.0 C++,我制作了一个非常简单的小部件--基于应用程序的示例--它只是一个没有按钮的表单,带有默认值。如果我编译它并通过macdeployqt运行它,然后在dmg文件之外运行应用程序,它就会运行得很好。但是,如果我编辑main.cpp并将这一行添加到.

QApplication::setStyle(QStyleFactory::create("Fusion"));

...before QApplication a(argc, argv);线..。

当然,...which需要我的mainwindow.h有一个#include <QtWidgets>行,然后通过macdeployqt运行它,我得到以下错误。(实际上,我会崩溃,但是当我打开example.app文件并在example.app/Content/MacOS/示例下找到二进制文件并运行它时,我会得到一个终端窗口,它告诉我以下消息。)

该应用程序无法启动,因为它无法找到或加载Qt平台插件“可可”。 重新安装应用程序可能会解决此问题。 中止陷阱:6

所以很难找到可可插件。然而,我在这条路上有一个可可插件:

example.app/Contents/PlugIns/platforms/libqcocoa.dylib

我想我需要使用otoolinstall_name_tool命令来修复与macdeployqt有问题的东西,但不知道是什么技术。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-25 08:49:52

一些博客可能提到在QApplication a(argc, argv);行之前添加以下样式行:

QApplication::setStyle(QStyleFactory::create("Fusion"));

如果这样做,Qt5.5将抛出一个Cocoa错误,当您试图通过mac部署Qt部署它时,应用程序将崩溃,但在Qt中运行它时不会崩溃。

解决办法很简单。博客是错误的--将样式行放在QApplication a(argc, argv);行之后,而不是放在它之前。现在,当您通过mac部署the进行部署时,Cocoa崩溃问题就消失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33909683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档