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

问题描述 投票:0回答:1

有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包中的资源文件夹是否正确?

macos qt deployment bundle
1个回答
1
投票

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

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

和:

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.