在 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 添加到项目中的主要内容,如果未能解决你的问题,请参考以下文章
IOS如何在目标c中将AFNetworking添加到我的xcode项目中
如何在 xcode 中将启用 ARC 的 .a 文件添加到非 ARC 项目