什么是Mac上的应用程序包?

5

我有一个基本的C++应用程序,使用g++和-framework构建...

当我运行它时,我收到以下错误信息:

Working in unbundled mode.  You should build a .app wrapper for your Mac OS X applications.

我的应用程序中没有使用std::cout输出此内容。

是什么原因导致了这个问题,我该如何解决?

谢谢!

1个回答

6
您需要创建一个文件夹结构并将二进制文件放置在特定位置。有关示例和说明,请参见此Qt页面

Mac OS X将大多数应用程序处理为“捆绑包”。捆绑包是将相关文件组合在一起的目录结构。捆绑包用于GUI应用程序、框架和安装程序包。这些在Finder中呈现给用户作为一个文件。当正确设置时,捆绑包可实现简单部署。所有需要做的就是使用某种首选方法归档应用程序。然后,用户打开存档并将应用程序拖到任何地方即可开始使用。

有关此问题,wxWidgets也有相关介绍。

MacOSX引入了一种新的组合应用程序的方法。您可以简单地创建一个特殊的目录(文件夹),而不是向可执行文件添加资源fork。这是OSX的首选方法。


1
苹果也有一个介绍(http://developer.apple.com/mac/library/documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html),而且捆绑包还允许轻松创建应用程序私有库、插件等。 - Georg Fritzsche

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接