如何获得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.h
和glxext.h
。 glxext.h
包含GLX扩展,相当于Windows上的wglext.h
。
如果您想要使用OpenGL 3.x或OpenGL 4.xfunction而没有移入GL_ARB_compatibility
扩展的function,请使用registry网页中的新gl3.h
标头。 它取代了gl.h
和glext.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.lib
, glut.h
, glut32.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。