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

标签 xcode macos

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

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

最佳答案

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

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

loadFile(resourcePath() + "filename.txt");

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

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

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

关于xcode - 从 C++ 应用程序创建 OSx .app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11664060/

相关文章:

xcode - 任何人都可以分享示例 .lldbinit 文件吗?

Xcode 卡住在 "fetching app store configuration"

iphone - iOS应用启动或切换回前台的速度非常慢

xcode - 可接受的内存泄漏量

c++ - 为什么在 Mac OS X 上使用 size_t 时 uint32_t 和 uint64_t 之间存在歧义?

java - 如何使用我的 Mac 钥匙串(keychain)中的证书签署 Java 小程序?

xcode - 组件模拟器列表为空 Xcode 9.1 beta

swift - 在 Swift 中使用 NSToolbar 中的 ColorPanel

macos - NSWindow 返回 nil (NSApplication)

MySQL运行时报错 `rails server`