安装Nvidia 331和Bumblebee后,OpenGL将恢复旧版本

我最近安装了Bumblebee和Nvidia 331驱动程序,因为显然这是让我的Geforce 860m工作的唯一方法 。 现在,当我尝试编译OpenGL程序时,它表现得好像我有一个2.0版本的OpenGL(“错误:glFoo未在此范围内声明”用于与着色器相关的函数,如glUniform1f)。 尝试编译之前能够编译的程序时,会发生这些错误,使用与以前相同的makefile。

我发现解决这个问题的唯一方法是使用GLEW,这是不幸的,因为我是OpenGL课程的助教,需要能够在我的机器上运行学生的作业,他们的作业将不会使用GLEW 。

GLxinfo告诉我,我有OpenGL 3.0版本,但是唯一可编译的程序是为2.0之前编写的程序。

Bumblebee / Nvidia用旧版本替换了我的OpenGL库吗? 我怎样才能解决这个问题?

我不应该安装linux-headers-generic。 我已经编辑了我的另一个问题的答案来反映这一点。