如何获得GL库/头文件?

#include <gl\gl.h> #include <gl\glu.h> #include <gl\glaux.h> 

这是一个例子,但是在哪里得到GL标题?

视窗

在Windows上,您需要包含OpenGL 1.1支持的gl.h头文件,并链接到OpenGL32.lib。 两者都是Windows SDK的一部分。 另外,你可能需要下面的头文件,你可以从http://www.opengl.org/registry获得。;

  • <GL/glext.h> – OpenGL 1.2及以上兼容性configuration文件和扩展接口
  • <GL/glcorearb.h> – OpenGL核心configuration文件和ARB扩展接口,如OpenGL 4.3规范的附录G.2中所述。 不包括仅在兼容性configuration文件中find的接口。
  • <GL/glxext.h> – GLX 1.3及以上的API和GLX扩展接口。
  • <GL/wglext.h> – WGL扩展接口。

Linux的

在Linux上,你需要链接到libGL.so,libGL.so通常是libGL.so.1的符号链接,而libGL.so.1是graphics驱动程序实际库/驱动程序的符号链接。 例如,在我的系统上,实际的驱动程序库名为libGL.so.256.53,这是我使用的nvidia驱动程序的版本号。 您还需要包含gl.h头文件,这通常是Mesa或Xorg软件包的一部分。 再次,您可能需要http://www.opengl.org/registry上的; glext.hglxext.hglxext.h包含GLX扩展,相当于Windows上的wglext.h

如果您想要使用OpenGL 3.x或OpenGL 4.xfunction而没有移入GL_ARB_compatibility扩展的function,请使用registry网页中的新gl3.h标头。 它取代了gl.hglext.h (只要你只需要核心function)。

最后但并非最不重要的, glaux.h不是一个与OpenGL相关的头文件。 我假设你已经阅读了可怕的NEHE教程,并随之而去。 Glaux是一个非常过时的Win32库(1996),用于加载未压缩的位图。 使用更好的东西,比如libPNG,它也支持alpha通道。

Linux的

 sudo apt-get update OpenGL: sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev 

视窗

find您的Visual Studio文件夹放置库和头文件的位置,将lib文件下载并复制到lib文件夹,并将头文件复制到头文件。 然后将dll文件复制到system32。 那么你的代码将100%运行。

另外Windows :对于所有这些包括你只需要下载glut32.libglut.hglut32.lib

请参阅: http ://opengl.org/resources/faq/technical/gettingstarted.htm问:2.060

在Visual Studio中:

 //OpenGL #pragma comment(lib, "opengl32") #pragma comment(lib, "glu32") #include <gl/gl.h> #include <gl/glu.h> 

头文件位于SDK中:C:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ Include \ gl

什么操作系统?

在Ubuntu上,我有

 $ dpkg -S /usr/include/GL/gl.h mesa-common-dev: /usr/include/GL/gl.h $ 

但不是a)大小写和b)前进/后退斜线的区别。 您的示例在使用反斜杠时可能是错误的。

如果您在Windows上,则使用平台SDK(或Visual Studio)安装它们。 但是头文件只与OpenGL 1.1兼容。 你需要为新版本的function创build函数指针。 你可以请澄清你试图使用什么版本的OpenGL。