运行提示缺少OPENGL.DLL的原因
来源:互联网 发布:西南石油大学网络教学 编辑:程序博客网 时间:2024/05/17 02:29
今天随手创建了一个简单的opengl应用,结果运行时弹出对话框说找不到OPENGL.DLL。我奇怪得是以前从来未发生这种情况,不管怎么说先从网上下载一个吧,但是因为DLL的版本和库文件匹配不起来,所以函数入口点错误。我又回到一开始思考的,过去从来没有发生过,我又把代码和以前的对比了一下,发现因为这次随手写写没有加上windows.h,于是我把它加上,运行,一切顺利。
我在opengl官网faq上找到一段文字,大概意思是微软要求windows的系统dll使用得是一套特殊的调用协议而不是大多数win32 c编译器所使用的,所以为了能够适应非标准的c协定,它们在gl.h里给opengl调用注释了一些宏,这样win32 c编译器就能够进行一些系统调用了,而这些宏正是在windows.h里所定义的。
结合这些文字,我的推测是这样的:
opengl是个向前兼容的图形库,OPENGL.DLL是老版本的opengl所必需的,现在的opengl应用都调用opengl32.dll,这个dll是自动安装在每一个xp以后的系统中的。因为没有windows.h所提供的某些信息所以opengl不知道自己现在应该调用哪个版本的指令,它默认向前看齐,而加上最新的windows.h后它才确定了自己所要调用的版本是opengl32.dll。
上述语段只是猜测,欢迎大家反驳。
- 运行提示缺少OPENGL.DLL的原因
- Qt环境变量的设置,Qt程序运行时提示缺少mingwm10.dll、QtCore4.dll的解决方法
- 程序运行提示msvcp100d.dll和msvcp100r.dll缺少的解决方案
- opengl程序运行提示丢失glut32.dll
- opengl程序运行提示丢失glut32.dll
- Windows 7 运行VS2015编译的软件提示缺少ucrtbased.dll文件的解决办法
- VS2010编写exe程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法
- 程序运行提示缺少mfc110.dll等相关文件的解决办法
- vs2008 控制台程序在win2000上无法运行的 提示缺少dll等问题
- VS2010编写exe程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法
- 运行PoissonRecon总提示说缺少vcomp.dll文件
- Qt环境变量的设置,Qt程序运行时提示缺少mingwm10.dll、QtCore4.dll的解决方法[转]
- MinGW编译的EXE运行缺少DLL
- 运行时缺少 tbb_debug.dll 的解决方案
- 运行时缺少tbb_debug.dll的解决方法
- 程序运行提示msvcp100d.dll和msvcp100r.dll缺少的解决方案 http://blog.csdn.net/ztz0223/article/details/8886247
- 用VS2010编写的C++程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法
- 用VS2010编写的C++程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法
- 不必兜得太远,其实路就在脚下
- ZeroMemory、memset 和“={0}” 用于清零操作的区别
- Warning: RPMDB altered outside of yum.的解决办法
- 浅谈java中整型数组选择排序的思想
- firefox 拓展备份
- 运行提示缺少OPENGL.DLL的原因
- wm屏幕校准
- java里面整型数组元素进行冒泡排序
- 抽彩票数字练习代码
- 最近在玩facade设计模式!
- 草稿
- MTK HISTORY 小结 1
- 《编程之美》 : 寻找最大的K个数
- Eclipse中出现Editor does not contain a main type或者Selection does not contain a main type