编译openGL遇到的问题记录和解决20170524-1

来源:互联网 发布:移动的网络制式 编辑:程序博客网 时间:2024/05/18 22:47

今天编译了一下openGL的代码,发现两个问题:

第一个,提示:“错误 1 error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”链接错误 。找了几种方法,使用如下方法解决了这个问题:点击“项目”-->“属性” --> “清单工具”,
然后选择"输入和输出’ --> ‘嵌入清单’,将后面的‘是’改成‘否’就可以了。

第二个,编译生成成功之后,运行,却提示:“无法启动程序 计算机丢失glut32.dll”。我的境是Windows7 64位+VS2010,我查看了system32文件夹,发现有这个文件,那就奇怪了,为什么呢?

后来查看Windows目录,发现在system32同级的目录还有一个目录:SysWOW64,看样子是64位特有的文件夹,果断查一下这个文件夹的来龙去脉,这里引用一下百度百科的解释:

转换库

WoW64子系统是一个轻量级的compatibility layer, 在所有版本的windows上都拥有同样的接口. 它的主要目的是用来创建32-bit环境, 为了让32位的应用程序可以不经过任何修改就运行在64-bit的系统上, 它提供了必须的接口。
技术上说, WOW64是由三个DLL实现的。
Wow64.dll是Windows NT kernel的核心接口, 在32位和64位调用之间进行转换, 包括指针和调用栈的操控. Wow64win.dll 为32位应用程序提供合适的入口指针. Wow64cpu.dll 负责将处理器在32位和64位的模式之间转换。

而且在该目录下发现了glu32.dll,这不是glut32.dll的近亲嘛,于是就把这个glut32.dll放到该目录下,果然运行成功。



阅读全文
0 0
原创粉丝点击