当我在我的xcode项目中使用#include <opengl gl.h =“”>这一行时,它在哪里寻找gl.h文件?</opengl>

时间:2013-10-02 22:20:39

标签: c++ ios xcode opengl

我正在将一个用于linux的开源C ++程序移植到os x。我一直在改变这条线

 #include <GL/gl.h> 

到这个

#include <OpenGL/gl.h>

根据这篇文章的建议:How do I use Open GL in a C++ project that I am porting from Linux

这个改变消除了编译器错误,但我很困惑:xcode /它使用的C ++编译器在哪里寻找该文件?如果我搜索我的xcode项目,我看不到名为OpenGL的目录或文件= gl.h?

我习惯于根据.html文件的工作目录在网页中包含图片或javascript库。 xcode中还发生了其他一些事情。

2 个答案:

答案 0 :(得分:4)

在Mac上,您将从OpenGL框架中获取这些标头。标题位于:

/System/Library/Frameworks/OpenGL.framework/Headers

严格地说,该路径是一个符号链接 - 真正的位置是:

/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers

如果在编译器/链接器命令行上传递-framework OpenGL,您的工具链将能够找到它们。

答案 1 :(得分:1)

如果您已将OpenGL框架添加到项目中,则Xcode会将OpenGL/解析为“OpenGL.framework中当前版本的头文件夹”。这些文件不会复制到您的项目中,您无需担心框架在磁盘上的存储位置或内部布局方式。

从Xcode 5开始,如果你启用了模块支持,你可以只使用@import OpenGL;将符号包含在该编译器单元中,并确保链接器稍后包含该框架。