fatal error C1047: 对象或库文件“EDLib.lib”是使用比创建其他对象所用编译器旧的编译器创建的
来源:互联网 发布:mac怎么安装mpv 编辑:程序博客网 时间:2024/06/05 15:01
fatal error C1047: 对象或库文件“EDLib.lib”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
前几天在网上下载了一个算法(EDPF)的源代码,在vs2010上运行,出现了如下错误
1>LINK : fatal error C1047: 对象或库文件“EDLib.lib”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
1>LINK : fatal error LNK1257: 代码生成失败
开始上网查了一下,以为是外接的EDLib.lib文件是在低版本的编译器上编译生成的,不能在高版本上使用。转而去找了一台vs2008的机器,运行后出现了这样的错误:
release模式下:
debug模式下:
vs2008出现这样的错误是由于版本没有升级,在官网下载了一个升级包vs2008sp1,安装后程序运行正确。下载地址,VS2008中文版升级包:http://www.microsoft.com/downloads/details.aspx?familyid=27673C47-B3B5-4C67-BD99-84E525B5CE61&displaylang=zh-cn
这时我才意识到,所用的EDLib.lib库是在一个升级版的vs2008上编译得到的,至于在release和debug模式下出现的错误不一致,我就不明白了。
既然这个lib库是在vs2008上编译的,vs2010应该是可以兼容使用的,我又检查了最开始在vs2010下运行的这个程序的配置,是在release模式下运行的,我改为debug模式运行后正确,检查了release和debug的配置,发现“项目->属性->配置属性->常规->全程序优化” 在两个模式下不同,将这个选项改为 “无全程序优化”,之后程序就可以在两种模式下正常运行了。至于里面的原因我不太清楚,不过可以参考博客http://blog.csdn.net/cdn_founder/article/details/7741076,或许对大家有帮助。
通过这次调试得到一个结论,引用别人lib或者dll的时候,出现连接问题一般都是由于当前编译器版本过低,向上无法兼容;另外一些原因是编译器的设置问题,导致无法正确解析库文件。
个人经验所得,望大家指正!
前几天在网上下载了一个算法(EDPF)的源代码,在vs2010上运行,出现了如下错误
1>LINK : fatal error C1047: 对象或库文件“EDLib.lib”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
1>LINK : fatal error LNK1257: 代码生成失败
开始上网查了一下,以为是外接的EDLib.lib文件是在低版本的编译器上编译生成的,不能在高版本上使用。转而去找了一台vs2008的机器,运行后出现了这样的错误:
release模式下:
debug模式下:
vs2008出现这样的错误是由于版本没有升级,在官网下载了一个升级包vs2008sp1,安装后程序运行正确。下载地址,VS2008中文版升级包:http://www.microsoft.com/downloads/details.aspx?familyid=27673C47-B3B5-4C67-BD99-84E525B5CE61&displaylang=zh-cn
这时我才意识到,所用的EDLib.lib库是在一个升级版的vs2008上编译得到的,至于在release和debug模式下出现的错误不一致,我就不明白了。
既然这个lib库是在vs2008上编译的,vs2010应该是可以兼容使用的,我又检查了最开始在vs2010下运行的这个程序的配置,是在release模式下运行的,我改为debug模式运行后正确,检查了release和debug的配置,发现“项目->属性->配置属性->常规->全程序优化” 在两个模式下不同,将这个选项改为 “无全程序优化”,之后程序就可以在两种模式下正常运行了。至于里面的原因我不太清楚,不过可以参考博客http://blog.csdn.net/cdn_founder/article/details/7741076,或许对大家有帮助。
通过这次调试得到一个结论,引用别人lib或者dll的时候,出现连接问题一般都是由于当前编译器版本过低,向上无法兼容;另外一些原因是编译器的设置问题,导致无法正确解析库文件。
个人经验所得,望大家指正!
0 0
- fatal error C1047: 对象或库文件“EDLib.lib”是使用比创建其他对象所用编译器旧的编译器创建的
- fatal error C1047: 对象或库文件“EDLib.lib”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
- fatal error C1047 对象或库文件“....Win32Release xxx.obj”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
- fatal error C1047 对象或库文件“....Win32Release xxx.obj”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库[转]
- fatal error C1047: 对象或库文件“.\x64\Release\Des.obj”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
- fatal error C1047 对象或库文件“….Win32Release xxx.obj”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
- fatal error C1047: 对象或库文件“..\..\xxx.obj”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
- VS2010 对象或库文件“*.lib”是使用比创建其他对象所用编译器旧的编译器创建的
- 对象或库文件“XXX.lib”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
- 对象或库文件 "xxx.lib" 是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
- “使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库”的解决方案
- 创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库-问题解决
- 对象或库文件“*.lib”是使用比创建其他......的解决方法
- fatal error C1853 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- fatal error C1853 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- fatal error C1853 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- fatal error C1853 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- 编译器产生的临时对象
- 临时解决mysql 8小时失效的方法
- MATLAB中如何输入希腊字母
- 黑马程序员——java基础语法(二)---流程控制、函数
- Block 4:Block实质解析
- uva 10118(DP)
- fatal error C1047: 对象或库文件“EDLib.lib”是使用比创建其他对象所用编译器旧的编译器创建的
- css布局--父级元素高度自适应
- 企业信息化快速开发平台 JeeSite
- 关于SwipeRefreshLayout实现上拉加载更多,下拉加载更多的方法
- QT处理中文之QString转为const char *
- Android Studio高效率小技巧
- 基于对话框、单文档、多文档区别
- Java输入输出之File类
- Java代码性能优化总结【收藏】