设为首页 加入收藏

TOP

OpenGL库编译相关错误(三)
2014-03-10 12:59:30 来源: 作者: 【 】 浏览:235
Tags:OpenGL 编译 相关 错误

 

  初步断定应该是头文件包含顺序错误。首先在程序最开始的部分加上#<Windows.h>.

  重新编译仍然出错。

  然后将OpenGL库文件的包含顺序由

  #include <GL/gl.h>

  #include <GL/glu.h>

  #include <GL/glut.h>

  变成:

  #incude <GL/glut.h>

  #include <GL/gl.h>

  #include <GL/glu.h>

  重新编译,不在出现上述错误,但引入了新的错误:

  1>Linking…

  1>TileRendering.obj : error LNK2019: unresolved external symbol __imp____glutInitWithExit@12 referenced in function _glutInit_ATEXIT_HACK@8

  1>TileRendering.obj : error LNK2019: unresolved external symbol __imp____glutCreateWindowWithExit@8 referenced in function _glutCreateWindow_ATEXIT_HACK@4

  1>E:\Test\TileRendering\Debug\TileRendering.exe : fatal error LNK1120: 2 unresolved externals

  出现这种问题一般是函数没有暴露给外部或者lib文件没有添加,我将这些OpenGL32.lib glut32.lib Glaux.lib GLU32.lib文件加入到工程属性中还是出现这种问题。网上说的解决办法不外乎就是添加lib文件或将lib和dll文件放在工程目录下,这些办法都无法解决此问题。在一个不起眼的角落里找到了个与众不同的说法:

  在glut.h中添加: #define GLUT_DISABLE_ATEXIT_HACK

  抱着死马当活马医的态度,试了试,问题得到成功解决。

  后记:最后那个错误,下一个新版本的OpenGL,可能就不会出现这个情况 ,具体没有试过。

      

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言中的int类型的范围 下一篇scanf函数使用和实现详解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: