在 Xcode 4 中将 GLM 添加到项目中

Posted

技术标签:

【中文标题】在 Xcode 4 中将 GLM 添加到项目中【英文标题】:Adding GLM to project in Xcode 4 【发布时间】:2012-02-08 13:07:56 【问题描述】:

我正在尝试将 GLM 添加到 Xcode 4 中的项目中,但无法编译。我已通过添加文件对话框将 glm 文件添加到我的项目中。

我遇到了词法/预处理器问题,Xcode 找不到文件 <cmath>

我不确定我需要调整什么才能构建它。

我已经看过How do I add OpenGL Mathematics (GLM) to Xcode 4?了。

【问题讨论】:

【参考方案1】:

您需要做的就是将文件添加到项目和 #import "glm.hpp"(对于 Objective-C++;对于简单的 C++,它应该只是 #include "glm.hpp")。

需要注意的几点:

当您下载 OpenGL 数学库时,会附带一堆您不需要的东西(测试代码、无关实用程序)。将这些添加到您的项目中会导致我无法摆脱的编译错误。您唯一需要的目录是glm/ 目录;您可以删除test/util/doc/bench/ 目录。如果您尝试关注"How do I add OpenGL Mathematics (GLM) to Xcode 4?" 并且仍然遇到问题,那么这可能是让您绊倒的事情。

OpenGL 数学文档告诉您包含 or 文件。在 Xcode 4 中,您应该像“glm.hpp”或“*.hpp”一样包含它们。无论文件在项目中的什么位置,Xcode 都会找到它们。假设您可以添加用户定义的构建设置“USE_HEADERMAP”并将其设置为“NO”以禁用此功能,但我没有任何运气。

并且,以防万一,请注意您使用 OpenGL 数学库的代码文件必须是 Objective C++ 文件(以“.mm”结尾),而不是默认/普通的 Objective C文件(以“.m”结尾)。毕竟它是一个 C++ 库... :-)

希望对您有所帮助。我自己只是在解决这个问题,我还没有机会真正推动它(例如,我基本上只是添加了一个或两个 mat4 对象并确保仍然编译),但它似乎正在工作。

【讨论】:

【参考方案2】:

我遇到了同样的问题,我将ViewController.m 改成ViewController.mm 解决了这个问题。将扩展名更改为 .mm 告诉 XCode 该文件可能包含 C++ 代码。文章Write Object-C Code 在类和对象部分对此进行了解释。

【讨论】:

以上是关于在 Xcode 4 中将 GLM 添加到项目中的主要内容,如果未能解决你的问题,请参考以下文章

在 Xcode 4 中将静态库链接到 iOS 项目

如何在 Xcode 5 中将新项目添加到源代码管理?

IOS如何在目标c中将AFNetworking添加到我的xcode项目中

如何在 xcode 中将启用 ARC 的 .a 文件添加到非 ARC 项目

Xcode 4.1 没有为 BCTabBarViewController 添加库

如何在 Xcode 4.2 中“添加现有文件”?