Ответ 1
Try:
#import <OpenGLES/ES2/glext.h>
или
#import <OpenGLES/ES3/glext.h>
работает для меня.
Без него приложение, которое правильно работает на xcode 6 + ios7, может найти GL_FALSE и другие.
Xcode 6 iOS SDK 8.0 в Yosemite дает мне ошибки для кода 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);
Генерирует ошибки:
строка 2:
Конфликтующие типы для 'glBindRenderBufferOES'
Использование необъявленного идентификатора 'GL_RENDERBUFFER_OES'
строка 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);
Тем не менее - я не знаю, почему это изменение необходимо, и я был бы признателен за дальнейшее понимание того, что происходит здесь.
Try:
#import <OpenGLES/ES2/glext.h>
или
#import <OpenGLES/ES3/glext.h>
работает для меня.
Без него приложение, которое правильно работает на xcode 6 + ios7, может найти GL_FALSE и другие.
Я думаю, что комментарий @reto-koradi правильный. У меня была проблема с моим кодом, который был аналогичным образом нарушен в iOS8. Они изменили то, как некоторые заголовки содержат другие заголовки, поэтому вот шаги, которые я сделал:
Для меня это было #import <OpenGLES/ES2/glext.h>
, потому что некоторые из glextensions, которые я использовал, отсутствовали.