openFrameworks
openFrameworks 是一个用于创意编程的 C++ 工具包。如果你是 OF 新手,欢迎加入!
构建状态
- master 分支包含最新、最近更新的代码。这些代码被打包并可在 openframeworks.cc/download 的"每日构建"部分下载。
- stable 分支包含与最新稳定版 openFrameworks 发布相对应的代码。这些稳定代码被打包并可在 openframeworks.cc/download 下载。
文件夹结构
此版本的OF包含以下几个文件夹:
- addons
- apps
- docs
- examples
- export (在某些系统上)
- libs
- other
- scripts
- projectGenerator
docs
文件夹包含一些关于OF使用的文档,以及各平台需要考虑的事项等。你绝对应该看一看里面的内容;例如,如果你使用的是OSX系统,请阅读osx.md。apps
和examples
是存放项目的地方 -- examples
包含各种展示如何使用OF的项目,而apps
是放置你自己项目的地方。libs
包含OF使用的库,包括openframeworks核心本身。addons
用于不属于核心的附加功能。export
用于存放需要放入每个已编译项目中的DLL和dylib文件。scripts
文件夹包含各平台OF自动化的模板和小脚本。project generator
是一个用于创建新项目的GUI工具 - 这个文件夹只存在于打包发布版中。
一个重要的概念是OF发布版设计为自包含的。你可以把它们放在硬盘的任何位置,但不可能混合使用不同版本的OF,所以请将每个版本(0.8.0, 0.8.1)分开保存。项目通常可以在不同版本间工作,但这不能保证。由于OF是自包含的,所以在整个OF中广泛使用本地文件路径(即,../../../)。了解目录结构很重要。一个常见的错误是移动项目,使其相对于OF根目录的位置比原来高一级或低一级。这意味着像../../../libs这样的链接会失效。
参与其中
openframeworks论坛:
http://forum.openframeworks.cc/
是一个温暖友好的地方。请随意提问或回答问题。这个项目最重要的部分是它是一个社区,不仅仅是一个工具,所以请加入我们!另外,这是自由软件,我们能学到很多关于哪些是困难的,哪些不合理,哪些有用等。这里欢迎最基础的问题!别担心,加入对话吧。在OF中学习是社交性的,很难独自完成,但一起我们可以走得更远!
我们的GitHub网站很活跃:
https://github.com/openframeworks/openFrameworks
如果你发现bug或有功能请求,可以考虑开一个issue。如果你是开发者并想提供帮助,我们热烈欢迎pull request。请阅读贡献指南了解相关准则:
https://github.com/openframeworks/openFrameworks/blob/master/CONTRIBUTING.md
我们还有一个开发者邮件列表,用于讨论OF开发和未来相关的问题。
开发者
要获取适用于你平台的openFrameworks副本,请查看主网站上的下载页面。
如果你使用Git仓库,OF仓库的stable
分支对应最新发布版,但有几个重要区别:
- 发布版包含一个简单的openFrameworks项目生成器。
- 这个GitHub仓库包含所有平台的代码和库,但发布是基于每个平台单独进行的。
- 这个GitHub仓库没有不同示例的项目文件。它们是使用
apps/projectGenerator/
中的工具为每个发布版自动生成的。 - 这个仓库中没有外部依赖,你可以使用scripts目录下每个平台文件夹中的download_libs.sh脚本下载它们。
如果你想使用openFrameworks的GitHub仓库,你需要下载外部依赖,并且应该使用项目生成器为examples/
中的所有代码创建项目文件。要使用项目生成器生成项目文件,在设置选项卡中启用"高级选项",然后使用"更新多个"来更新仓库中examples/
文件夹路径的项目。
要在OF仓库中设置项目生成器子模块,在openFrameworks仓库内使用命令git submodule init
,然后git submodule update
。
有关使用项目生成器的更多信息、各平台的自述文件以及更多信息,请参阅文档。
版本控制
openFrameworks 采用语义化版本控制,尽管严格遵守将只会在 1.0.0 版本开始生效。