我是否可以在OS X上使用OpenFrameworks而无需使用XCode?

时间:2012-05-14 15:25:57

标签: xcode macos openframeworks

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

5 个答案:

答案 0 :(得分:11)

Xcode内部使用gcc / llvm。事实上,从命令行可以cd到包含openFrameworks项目的目录中,只需键入xcodebuild即可。但是这不允许您编辑项目文件并添加新的源代码等。

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

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

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

答案 1 :(得分:5)

As of March 2013,openFrameworks支持编译库本身的官方makefile。但是,在撰写本文时,这些更改尚未合并到稳定版本中。您需要克隆Git repository并切换到开发分支。

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

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

答案 2 :(得分:2)

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

答案 3 :(得分:2)

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

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

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

答案 4 :(得分:1)

正如@mipadi所说,没有要求实际使用Xcode,你可以使用make或cake或任何你选择的构建系统来完成你在Xcode中所做的一切。您所要做的就是找到正确的命令行选项集以传递给常用工具(编译器,链接器,条带等),有时更简单的方法是...在Xcode构建窗口中查看它是如何工作的做东西(用每行右边的小按钮展开线条)。

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

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