Yosemite 中的 Xcode 6 iOS SDK 8.0 给出了 OpenGL ES2 代码的错误,该代码在 Xcode 5 下可以正常编译
GLuint depthStencilRenderbuffer;
glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthStencilRenderbuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES,
GL_DEPTH24_STENCIL8_OES,
self.view.bounds.size.width,
self.view.bounds.size.height);
产生错误:
line 2:
“glBindRenderBufferOES”的类型冲突
使用未声明的标识符“GL_RENDERBUFFER_OES”
line 3:
包含“glBindRenderBufferOES”的隐式声明在 C99 中无效
编辑:好的,我可以通过替换来让事情再次运行:
GLuint depthStencilRenderbuffer;
glBindRenderbuffer(GL_RENDERBUFFER, depthStencilRenderbuffer);
glRenderbufferStorage(GL_RENDERBUFFER,
GL_STENCIL_INDEX8,
self.view.bounds.size.width,
self.view.bounds.size.height);
尽管如此 - 我不知道为什么需要进行这种更改,并且我希望能够进一步了解这里发生的情况。