10

我正在阅读“OpenGL 入门”教程,并且遇到了以下文字:

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

我只是想使用 vim 编写我的源文件,我不想使用像 VS 这样的 IDE,据我了解,OpenGL 库随 Windows 7 一起提供(如果我错了,请纠正我)。此后,本文不再详细介绍如何包含 OpenGL 库,而我真正的问题是,如何在源文件中包含和使用 OpenGL 库?

它是像写作一样简单,#include <name of lib>还是我需要在我的编程环境中做其他事情,比如编辑我的路径变量?

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

4

1 回答 1

8

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

这样做的原因是只有一个非常旧版本的 OpenGL 头文件在 Windows 上默认可用。较新的接口是间接可用的;您必须询问功能地址。然而,这是由 GLEW 为您完成的。

所以你只需要包含<GL/glew.h>,并用glewInit()做一些初始化;

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

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

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

请注意,在初始化 GLEW 之前,您还必须为 OpenGL 设置上下文。这取决于环境以不同的方式完成。当你打开一个窗口时,它就完成了。对于便携式库,我可以推荐glfw库或freeglut

于 2012-09-11T20:32:28.083 回答