2012-03-17 151 views
1

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

+0

你是如何创建你的窗口?我在想它给你的GL版本不支持它。 – Robinson 2012-03-17 11:15:28

回答

3

在windows平台上,opengl32.lib只为一个非常古老的GL版本(1.1或类似的东西)提供函数。如果你想从更新的OpenGL版本获得功能,那么你应该使用wglGetProcAddress指向缺少的函数。

但是,这太麻烦了。因此,您可以使用OpenGL扩展库(GLEWGLEE)为您找到缺少的函数地址。因为GLEE看起来放弃了,所以使用GLEW而不是GLEE更好。

+0

谢谢,这是有效的 – slaviber 2012-03-17 11:22:56