我正在使用 GLFW 和 Netbeans 在 C++ 中进行开发。我可以使用即时模式功能进行渲染,这没有问题。但是,当我尝试使用核心配置文件功能时,会出现如下错误:
error: ‘glCreateShader’ was not declared in this scope
对于我尝试的每个核心配置文件功能,我都会遇到这些错误之一。我做了一些研究,发现 GLFW 不提供任何 gl 头文件,而只是#include
在我的系统上找到的头文件(在 /usr/include/GL/)。
大概这意味着这里找到的 gl.h 和相关文件只包含旧式 OpenGL API。我无法理解十六进制代码,但 gl.h 文件#define
的 GL_VERSION 为 0x1F02。
如果我在终端中执行此命令:glxinfo | grep -i opengl
它向我保证我的 OpenGL 版本字符串是“4.2.0 NVIDIA 304.88”——尽管我认为这反映在驱动程序中,与 gl.h 文件无关。在我的应用程序中用 C++ 代码运行这一行会产生相同的字符串:printf("%s\n", glGetString(GL_VERSION));
毫无疑问,出于同样的原因。
我在哪里可以为 Ubuntu 13.04 x64 上的 OpenGL 3+ 开发获取适当的 OpenGL 头文件?
我已经按照大多数教程的建议安装了这些软件包(无济于事):xorg-dev libglu1-mesa-dev