12

我无法忍受 XCode,但我真的很喜欢 OpenFrameworks,而且我知道它可以在 Linux+Win32 上运行,所以我不明白为什么它应该依赖于 XCode。如果我需要安装 XCode,那很好,我根本不想使用它。

4

5 回答 5

11

Xcode 内部使用 gcc/llvm。实际上,您可以从命令行 cd 进入包含 openFrameworks 项目的目录,然后键入xcodebuild. 但这不允许您编辑项目文件并添加新的源代码等。

Linux makefile 也可以适用于 OSX。它们已经包含许多有关查找正确源文件、库路径等所需的信息。但是 Linux 允许我们将更多组件安装为共享系统库,而在 OSX 上,我们静态链接大多数库,因此还有一些额外的需要添加库路径。可能最大的问题是所有东西都必须编译为 32 位,这意味着-arch i386到处传递,所以你不能只使用 Homebrew 或 MacPorts 安装依赖库。我们正在过渡到 64 位,但仍有一些 QuickTime 调用需要我们坚持使用 32 位,主要是为了访问我们很多人仍然用于计算机视觉的遗留视频捕获设备。

就像@cdelacroix 指出的那样,我们只在 OSX 上维护 Xcode 项目文件。这主要是由于缺乏像样的替代品。有一个适用于 OSX 的 Code::Blocks 版本,但它的支持不是很好,在原生 gui 渲染方面存在一些问题,并且往往落后于其他平台。Xcode 也是在 OSX 上安装工具链的最简单方法,因此对于大多数用户来说安装 Xcode 是必要的。

如果您确实获得了基于 makefile 的构建系统,并且有兴趣从中长期维护它,请考虑将其贡献给 GitHub 存储库,我们很乐意接受。

于 2012-06-16T11:49:50.683 回答
5

截至 2013 年 3 月,openFrameworks 对编译库本身提供了官方 makefile 支持。但是,在撰写本文时,这些更改尚未合并到稳定版本中。您需要克隆Git 存储库并切换到开发分支。

git clone https://github.com/openframeworks/openFrameworks
cd openFrameworks && git checkout develop
cd libs/openFrameworksCompiled/project
make

据我所知,我们仍然需要使用非官方的解决方案来针对库编译应用程序。

于 2013-04-24T17:01:02.480 回答
2

您需要 Xcode,或者至少需要一组编译器(更多信息可在此处获得),但否则,您可以在任何您想要的编辑器或环境中编辑/使用代码。

于 2012-05-14T16:21:53.733 回答
2

这是一个生成文件的链接,它将在 OsX 上编译 OpenFrameworks 应用程序:

https://gist.github.com/labe-me/1190981

将 makefile 放在应用程序的目录中并运行 make。在 OsX 10.6 上测试,但尚未尝试使用插件。

于 2013-03-27T09:04:49.493 回答
1

正如@mipadi 所说,不需要实际使用 Xcode,您可以使用 make 或 cake 或您选择的任何构建系统来完成您在 Xcode 中所做的几乎所有事情。您所要做的就是找到正确的命令行选项集以传递给常用工具(编译器、链接器、条带等),有时更简单的方法是……在 Xcode 构建窗口中查看它是怎样的做事(用每行右侧的小按钮展开行)。

例如,您可以使用 ld -framework Framework -FPathToFramework foo.o 链接您选择的框架,或者使用 ld -lLib -LPathToDylib foo.o 链接您的动态库。您可能需要了解 @rpath、@loader_path 和 install_name_tool 才能发布自包含的打包应用程序。

对于 OpenFrameworks,Xcode 的“要求”是作者决定只维护 Xcode 项目文件。我只是看看他们是如何做到的,他们发布了构建静态库的源代码和 Xcode 项目文件,因此对您来说会更加简单(尽管您需要手动链接库依赖项)。您必须选择在构建系统中从源代码编译所有内容(如果您想要在不接触 Xcode 的情况下获得更多自定义功能),或者只使用 Xcode 生成 2 个静态库(openFrameworks.a 和 openFrameworksDebug.a),然后在你的构建系统(推荐直到你真的需要持续定制)。

于 2012-06-15T23:06:35.977 回答