0

我正在使用 Xcode 中的 OpenGLES 做一些事情——它主要用于 iOS,但我希望只制作 OpenGLES 部分 C++,独立于它不使用 ObjectiveC。但是,OpenGLES 包含的内容似乎正在导入需要 Objective-C (Availability.h) 的内容,因此 CPP 文件无法正确编译,因为我从 NSObjCRuntime.h 中收到有关 NSString 的错误。

我理解他们,但我想知道其他人如何解决这个问题。我希望能够拥有带有 CPP 扩展名的 C++ 文件。我是否应该查看 Xcode 项目中有关如何处理 CPP 文件的设置?

谢谢

4

3 回答 3

0

您也可能有一个包含 Objective C 标头的前缀标头。如果是这种情况,您应该用#ifdef __OBJC__.

于 2012-09-21T17:39:52.690 回答
0

默认情况下, Xcode 应该将cpp文件视为 C++。确保您没有特殊的 Objective-C-only 定义之一,例如__OBJC__,在某处手动定义。具体来说,Availability.h它不需要Objective-C(它只是预处理器的东西),所以问题可能出在其他地方。

绝对可以从.cpp文件中使用 OpenGL,编译为 C++,就像我在我的 iOS 项目中那样。

于 2012-09-21T16:38:30.573 回答
0

我找到了它——最终包含了用于 CATransform3D 的 QuartzCore.h。我忘了我打算用替代品代替它。

于 2012-09-25T08:53:29.390 回答