我正在将一个用于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中还发生了其他一些事情。
答案 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;
将符号包含在该编译器单元中,并确保链接器稍后包含该框架。