无法 link OpenGL 兼容性配置文件(无法识别 EXT 符号)

Unable to link OpenGL compatibility profile (EXT symbols not recognized)

我决定使用 GLEW 来处理扩展,而不是请求核心配置文件并迁移我的代码。

作为第一步,我想通过 EXT 配置文件添加对 FBO's 的支持。

问题是 gcc 不会 link 我的代码 (OSX 10.10),它不识别任何 gl*EXT() 函数。例如,glBindFrameBufferEXT()

flags as undefined symbol. (glBindFrameBuffer() was also unrecognized...)

我 link 反对 GLEW,并尝试使用具有兼容性配置文件的 GLEXT 或 GLFW,但没有任何效果!我错过了图书馆吗?我如何告诉 gcc 使用正确的 GL 配置文件?我必须迁移到核心配置文件吗?

在 Mac 中OS X GLEW 做的不多,因为 Mac 上没有很多 OpenGL 扩展OS X 并且由于 OpenGL 在 Mac 中的集成方式OS X 可用框架支持的OpenGL版本的所有功能立即可用

… 或不,如果您使用的扩展功能不受 MacOS X 的 OpenGL 实现的支持。

MacOS X 是 OpenGL 家族中的怪小鸭子:OpenGL 在 OS 的核心图形例程中以非常低的水平使用,OpenGL 得到了很好的支持OS。但它在 OS 中构建得如此之深,以至于如果不更新整个 OS.

就很难更新它

解决方案:不要使用该扩展名。 FBO 已随 OpenGL-3.3 引入,因此您必须创建 3.3 核心配置文件上下文并可以直接使用函数(不带 …EXT)。