我可以将Qt GUI进程放在Mac包下的Resources文件夹中

时间:2018-03-01 17:48:23

标签: macos qt deployment bundle

有2个过程。一个是位于Mac软件包下的MacOS文件夹中的GUI进程,而另一个是位于软件包下的Resources文件夹中的托盘进程。托盘进程似乎无法找到cocoa插件/库。因为当我手动运行它时,会出现如下错误

  

此应用程序无法启动,因为它无法找到或加载   Qt平台插件“cocoa”中的“”。

捆绑结构如下所示

-Contents
 |_MacOS
 | |_gui
 |
 |_Resources
 | |_tray
 | |_qt.conf
 |
 |_Plugins
   |_platforms
     |_libqcocoa.dylib

qt.conf包含

[Paths]
Plugins = PlugIns
Imports = Resources/qml
Qml2Imports = Resources/qml

将托盘流程放入Mac捆绑包中的资源文件夹是否正确?

1 个答案:

答案 0 :(得分:1)

根据Bundle Programming GuideResources文件夹适用于图像,声音等资源(参见表2-5):

  

包含所有应用程序的资源文件。进一步组织此目录的此内容以区分本地化和非本地化资源。有关此目录结构的更多信息,请参阅参考资料目录。

  

您可以在Resources目录中放置所有图像,声音,nib文件,字符串资源,图标文件,数据文件和配置文件等

MacOS文件夹也可能包含帮助程序可执行文件:

  

包含应用程序的独立可执行代码。通常,此目录仅包含一个二进制文件,其中包含应用程序的主入口点和静态链接的代码。但是,您也可以将其他独立的可执行文件(例如命令行工具)放在此目录中。

因此,我认为MacOS文件夹是tray二进制文件的最佳位置。我不知道这是否解决了缺少平台插件的问题。