在C ++,Windows 7中包含OpenGL库

时间:2012-09-11 19:01:26

标签: c++ windows opengl compilation c-preprocessor

我正在阅读“OpenGL入门”教程,我看到了这个文本:

  

“如果你正在使用C / C ++,那么你必须首先建立一个可以链接到OpenGL的构建环境(Visual Studio项目,GNU makefile,CMake文件等)。在Windows下,你需要静态链接到一个库名为OpenGL32.lib(请注意,如果您正在构建一个64位可执行文件,您仍然可以链接到OpenGL32.lib。“32”部分是没有意义的。)Visual Studio和大多数Windows编译器都附带了这个库。“< / p>

我只是想用vim编写我的源文件,我不想使用像VS这样的IDE,而且据我所知,OpenGL库附带了Windows 7(如果我错了,请纠正我)。在此之后,本文并未真正详细介绍如何包含OpenGL库,我真正的问题是,如何在源文件中包含和使用OpenGL库?

是否像编写#include <name of lib>一样简单,还是需要在编程环境中执行其他操作,例如编辑路径变量?

编辑:我正在使用MinGW g ++ / gcc编译器

1 个答案:

答案 0 :(得分:7)

要访问包含文件,您需要一个特殊的支持库。这些不止一个,但我会推荐GLEW。您可以在http://glew.sourceforge.net/找到GLEW界面。

原因是在Windows上只有非常旧版本的OpenGL标头可用作默认设置。更新的界面是间接可用的;你必须要求功能地址。然而,这是由GLEW为您完成的。

所以你只需要包含&lt; GL / glew.h&gt;,并使用glewInit();

进行一些初始化

这与Linux和Windows兼容,尤其是在使用MinGW时。链接时,我使用以下内容:

MY_LIBS =     -lglew32      -lopengl32     -lWs2_32 -lole32 -lctctl32 -lgdi32 -lcomdlg32 -luuid

我可以推荐使用通用的makefile,请参阅http://sourceforge.net/projects/gcmakefile/

请注意,在初始化GLEW之前,您还必须为OpenGL设置context。根据环境的不同,这样做会有所不同。它是在你打开一个窗口时完成的。对于便携式库,我可以推荐glfw库或freeglut