我用VS2010编译程序时,报以下错误:(其中用到了别人提供的库triangle.lib)
1>LINK : fatal error C1047: 对象或库文件“.\lib\triangle.lib”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
1>LINK : fatal error LNK1257: 代码生成失败
:
我这几天也遇到了这个问题,用别人提供的lib,在vs2010下 debug模式可以运行,但release模式下就不行,出现了和你一样的错误。开始我还以为是lib不兼容,最后发现这个lib在LTCG下不能被解析,做如下改正即可:
Release模式下->属性->常规->项目默认值->全程序优化 将这里的默认项 “使用链接时间代码生成”改为“无全程序优化”。 接下来就可以运行了。
一般低版本生成的lib都是可以被高版本编译器所用的,这个是兼容性的基础,呵呵!
转:
阅读(17901) | 评论(0) | 转发(0) |