从 C++ 应用程序创建 OSx .app

Mat*_*oal 5 macos xcode

我使用命令行工具项目模板创建了一个 OpenGL 应用程序。现在输出项目显然是一个 unix 可执行文件。

我的问题是如何将此可执行文件转换为捆绑包 .app?我需要添加另一个目标吗?

Sat*_*own 1

如果您创建了一个命令行工具,那么它就是一个命令行工具。我不知道有什么方法可以轻松地将其捆绑到应用程序中。

如果我是您,并且您要开始编写 Mac OpenGL 应用程序,请开始使用 SFML。它极大地简化了窗口创建,是跨平台的,并且拥有一个很棒的社区。此外,获取 mac .app 包中的资源路径有点棘手,它们提供的模板允许您通过调用访问任何文件:

loadFile(resourcePath() + "filename.txt");
Run Code Online (Sandbox Code Playgroud)

而不必跟踪一切。另外,整个资源路径代码是用 Objective C 编写的,这对于一些 C++ 程序员来说可能是一个痛苦。

整个框架非常健壮,但保持了简单的风格和自己的命名空间。使用你想要的,不要使用你不需要的。最新版本(仍为测试版)2.0,附带 Xcode 模板。只需创建一个模板,然后在项目的构建设置中滚动到底部。您将看到 SFML_LINK_DYLIBS_SUFFIX 并且它的值为“-d”。删除“-d”,它应该可以编译。

然后,如果您要分发,请添加复制文件构建阶段并链接您使用的 .dylib。