1

我正在尝试为我的游戏加载一些 .dds 纹理。
我的 IDE 是安装了 GLUT 7.6 的 Dev-C++。
当我使用像 glTexImage2D() 或 glVertex2f() 这样的 OpenGL 函数时,我的程序可以正常编译,但是当我尝试任何 glCompressedTexImage 函数时,链接器会告诉我有一个未定义的引用。
像这样:[链接器错误]未定义对`glCompressedTexImage2D@32'的引用。
我仅将我的项目与 libopengl32.a 链接,并且我在窗口中使用 Win API。
我是否需要在链接器选项中添加另一个库或者我的 OpenGL 版本太旧?

4

1 回答 1

3

在 Windows 平台上,opengl32.lib 只为非常旧的 GL 版本(1.1 或类似版本)提供功能。如果您想要来自较新 OpenGL 版本的功能,那么您应该使用 wglGetProcAddress 获取指向缺失函数的指针。

但是,这太麻烦了。因此,您可以使用 OpenGL 扩展库(GLEWGLEE)来代替您获取丢失的函数地址。使用 GLEW 而不是 GLEE 是一个更好的主意,因为 GLEE 看起来已经被废弃了。

于 2012-03-17T11:14:35.037 回答