2015-05-30 4 views
0

Существует проект OpenGL, над которым я должен работать, для курса, который я посещаю. Были ошибки связи из-за GLEW. После некоторых исследований я узнал, что на OSX GLEW нет необходимости.Невозможно скомпилировать проект OpenGL под OSX

Я включил следующие заголовки.

//#include "CL/cl_gl.h" 
#include <OpenGL/glu.h> 
#include <OpenGL/gl.h> 
//#include <OpenGL/glext.h> 
//#include <GLUT/glut.h> 

Но я все еще получаю ошибки компиляции следующего вида:

use of undeclared identifier 'GL_TEXTURE_BUFFER_EXT' 
    glBindTexture(GL_TEXTURE_BUFFER_EXT, 0); 
       ^

Где на OSX является GLenum GL_TEXTURE_BUFFER_EXT соответственно. Определен GL_TEXTURE_BUFFER?

ответ

3

Вариант EXT будет определен только в glext.h или заголовках, которые приходят или генерируются различными погрузчиками GL extenstion. Фактическое значение GL_TEXTURE_BUFFER перечислено в OpenGL/gl3.h. В OSX современный GL является частью ОС, и вы можете напрямую связать современные функции GL. Тем не менее, я бы порекомендовал использовать какой-то GL-загрузчик, просто по соображениям мобильности.

+0

На самом деле это многоплатформенный проект, он использует GLEW и GLFW в качестве оберток, я думаю, что это загрузчики, о которых вы говорили. Но я не мог связать GLEW. Поскольку мне нужно писать только некоторые шейдеры, я не хотел слишком беспокоиться. – mike

Смежные вопросы