2
'glGenBuffers' was not declared in this scope

这就是我尝试使用该方法后得到的错误。如何添加适当的库或其他东西以及我应该添加什么以及如何添加。我正在使用 win 7 和 qt 4.8.1。我读过 GLEW 但我不知道如何将它添加到 windows 或 qt。

4

2 回答 2

5

这是一个常见问题解答。Windows 仅定义了 OpenGL-1.1 版本的 OpenGL ABI(B 表示二进制接口)——除此之外的任何内容都必须在运行时使用扩展加载机制加载。最容易通过使用像GLEW这样的包装库来完成。

我读过 GLEW 但我不知道如何将它添加到 windows 或 qt。

如果你想使用任何 3rd 方库,你必须学习如何做到这一点。它归结为将库及其头文件安装在某个系统范围的目录中,但在常规编译器树之外,并将这些目录添加到包含和库搜索路径中。

于 2013-04-10T18:10:18.093 回答
2

我使用此代码包含 GLEW 和 Glut 以进行跨平台开发:

#ifndef GL_H
#define GL_H

#ifdef __APPLE__
#include <GL/glew.h>
#include <GLUT/glut.h>
#else
#include <GL/glew.h>
#include <GL/glut.h>
#endif

#endif // GL_H

我将它封装到一个名为 gl.h 的文件中,并将它包含在我需要 OpenGL 上下文的任何地方。您将需要研究如何在您的系统上安装 GLEW。确保为编译器安装了正确的 GLEW 版本。如果您使用 Visual C++ 2010 或 MinGW,则在放置库和包含文件的位置方面会略有不同。您也可以始终从源代码构建,但这是更高级的路线。

如果您想要一些关于如何开始使用 Qt 和 OpenGL 的示例代码,我在 Bitbucket 上有一个存储库,其中包含我为 OpenGL 编程类编写的一些代码:https ://bitbucket.org/pcmantinker/csc- 4356/src/2843c59fa06d0f99d1ba90bf8e328cbb10b1cfb2?at=master

于 2013-04-10T18:21:36.287 回答