#ifdef无法正常工作?

时间:2014-04-06 09:14:39

标签: c++ compilation cross-platform conditional-compilation

我遇到了Xcode 5.1的问题。如果我这样做,一切正常:

#include "glew.h"

但是一旦我尝试跨平台,就会开始提出编译错误。

#if defined(_APPLE_) || defined(_MACH_)
#define OS_MACOSX
#endif

#ifdef OS_MACOSX
#include "glew.h"
#else
#include <GL/glew.h>
#endif

请帮助我理解这一点。

2 个答案:

答案 0 :(得分:1)

您可能希望使用__APPLE__代替_APPLE_。那应该解决它。

哦,不要在IDE上呻吟,它与IDE无关。它是关于Apple的开发人员决定放置GL头文件(以及CL头文件)的地方!)

答案 1 :(得分:0)

听起来您只需添加“GL”框架,或在Xcode项目中提供正确的“标题搜索路径”。

您知道“<GL/glew.h>”文件的完整路径吗?如果是这样,您可以添加项目设置的完整路径。

你可以这样做: Header Search Paths