我对 Mac OS X 环境比较陌生。我试图安装 freetype 库以在 OpenGL 中显示文本,但我失败了。我在某个论坛上看到 freetype 预装了 Mac OS X 山狮。我只是想确认一下。如果它确实随 Mac 一起提供,那么我如何将它包含在我的项目中?如果它没有随 Mac 一起提供,那么在 Mac 中安装 freetype 的理想步骤是什么?
1 回答
动态链接库是预先安装的,因此您可以使用任何需要 freetype2 的软件:
/usr/X11/lib/libfreetype.6.dylib
但是,构建 freetype2 项目所需的实际头文件等并不随 OS X 一起提供。要获得这些,您需要安装 Xcode;当您使用任何版本的 OS X 平台 SDK 安装 Xcode 时,它都带有 freetype2:
/Developer/SDKs/MacOSX10.6.sdk/usr/X11/include/freetype2/freetype/freetype.h
这些天来,我认为您必须通过 App Store 才能下载 Xcode,但它是免费的,这就是您开始在 OS X 上开发 GL / freetype2 软件所需的全部内容。我相信他们停止在OS X 在 10.6 版本中安装 DVD,因此注册为 Apple Developer 或通过 App Store 可能是您唯一的选择。
顺便说一句,当您第一次在 OS X 上开始使用 OpenGL 时,您将不得不跳过一些障碍。它与大多数平台略有不同,尤其是在运行时加载(或者更确切地说不加载)扩展时。Apple 为所有 OS X 10.7+ 系统实现了 OpenGL 2.1 / 3.2 核心的完整功能集,即使底层 GPU 不支持它——它对硬件不支持的任何东西都有软件后备。
因此,您不必担心根据已安装的 GPU 功能加载扩展,但您必须担心使用某个功能是否会将您带入软件路径。您还必须忍受比平均更长的等待时间来实现新版本的 OpenGL,但我想这是您为保证功能集支持付出的代价。
我建议您在开始时使用 glfw 或 SDL2 之类的东西,特别是如果您不喜欢 Objective C(老实说,有人吗?)。现在很多更新的 OpenGL 上下文管理需要使用 Objective C (cocoa) 来完成;Apple 并不是他们自己的 C API(碳)的忠实拥护者。glfw 和 SDL2 对你隐藏了所有这些东西,所以如果你不想的话,你永远不必编写一段丑陋的 Objective C 代码:)