3

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

 #include <GL/gl.h> 

对此

#include <OpenGL/gl.h>

基于这篇文章的建议:如何在我从 Linux 移植的 C++ 项目中使用 Open GL

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

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

4

2 回答 2

4

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

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

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

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

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

于 2013-10-02T22:27:29.763 回答
1

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

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

于 2013-10-02T22:36:20.253 回答