使用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
我想我需要使用otool和install_name_tool命令来修复与macdeployqt有问题的东西,但不知道是什么技术。
发布于 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崩溃问题就消失了。
https://stackoverflow.com/questions/33909683
复制相似问题