OpenGL 问题汇总

版权声明:转载请注明出处 https://blog.csdn.net/cecilia_winter/article/details/81174105
  • 出现的“无法解析的外部符号问题”

1>main.obj : error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithExit@8,该符号在函数 _glutCreateWindow_ATEXIT_HACK@4 中被引用

glut.h中有注释:

Note that the __glut*WithExit routines should NEVER be called directly

To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. 

在#include <GL/glut.h>前添加 

#define GLUT_DISABLE_ATEXIT_HACK

资料来源:https://blog.csdn.net/create863064023/article/details/25373499

  • 运行后exe文件闪了一下就消失,截图看到里面的内容为freeglut:(文件路径)unable to creat opengl 4.5 context  ( flags 2,  profile 1)

查看opengl版本

代码来源:https://blog.csdn.net/vanlin5566/article/details/42384387

看我的OpenGL版本就是4.5,仿佛看到了希望

然而事情并没有这么简单,冷漠而无助.jpg

经过不懈的努力,我顽强的找到了对我帮助最大的一篇帖子:https://gamedev.stackexchange.com/questions/29852/unable-to-create-opengl-3-3-context-flags-0-profile-1

那么现在问题来了究竟是电脑硬件不支持还是驱动没更新呢

http://realtech-vr.com/admin/glview

在这里我下载了OpenGL Extensions Viewer,软件很小下起了很方便

多么残忍的故事,OpenGL4.5是可以但是只support 1/11 ......

我尝试在设备管理器中更新了驱动,然而学术不精的我没有意识到这里更新的驱动并不是升级我的驱动......

所以我当然不出所料的又失败了......

中间还穿插着我运行.exe文件时将图形处理器由集成图形改成高性能NVIDIA处理器,可以右键.exe文件在图形处理器中选择也可以更改默认处理器,但是驱动都没更新当然还是跑不动啊= =

我的心情

是的问题的关键就在,更!新!驱!动!啊!!!

人家的电脑是好伙伴,日常更新维护,我的电脑...仔啊阿爸对不起你啊...

去NVIDIA官网与intel官网下载了最新版的驱动程序,根据自己的电脑N卡型号与intel处理器型号选择对应的版本下载,装起来很快,重启电脑之后

世界都变得美好了

我终于可以跑example了QAQ

更新完驱动之后我的电脑已经可以支持OpenGL4.6了,在intel处理器中查看版本现在的版本为4.5,达到了我的要求。

但是跑到时候还是要把图形处理器改为独显,没有独显的同学同样电脑支持4.5而且现有版本也是4.5,但是程序会出错显示不支持 

这一条最后加一句......电脑的日常维护真的很重要,不然到需要的时候会很痛苦

对自己的电脑还是要好一点啊......

猜你喜欢

转载自blog.csdn.net/cecilia_winter/article/details/81174105