Xcode 6 iOS SDK 8.0 in Yosemite is giving me errors for OpenGL ES2 code which compiles fine under 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);
Generates errors:
line 2:
Conflicting types for 'glBindRenderBufferOES'
Use of undeclared identifier 'GL_RENDERBUFFER_OES'
line 3:
implicit declaration of contain 'glBindRenderBufferOES' is invalid in C99
Edit: OK, I can get things working again by substituting:
GLuint depthStencilRenderbuffer;
glBindRenderbuffer(GL_RENDERBUFFER, depthStencilRenderbuffer);
glRenderbufferStorage(GL_RENDERBUFFER,
GL_STENCIL_INDEX8,
self.view.bounds.size.width,
self.view.bounds.size.height);
Still - I don't know why this change is needed and I'd appreciate some further insight as to what's going on here.
I think @reto-koradi's comment is correct. I had a problem in my code that was similarly broken in iOS8. They've changed how some of the headers include other headers so here are the steps I took:
For me it was
#import <OpenGLES/ES2/glext.h>
because some of the glextensions I was using was missing.Try:
or
works for me.
Without it, app which correctlyworking on xcode 6 + ios7 can find GL_FALSE and others..