fatal error C1047: 对象或库文件“..\..\xxx.obj”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库

vs2005在新机器上编译工程时报的错,在网上看到有如下解决办法:


>属性->常规->项目默认值->全程序优化  将这里的默认项 “使用链接时间代码生成”改为“无全程序优化”

这样设置后很多同学貌似解决了这个问题 ,然而并木有包括我。。。

编译会提示新的错误:
fatal error C1900: “P1”(第“20081201”版)和“P2”(第“20070207”版)之间 Il 不匹配
。。。。。。。。。。。。。。。

继续。。。

原因:链接时使用了某些用更新的编译器编译的LTCG(Link Time Code Generation)的library。之所以x86是正常的,是因为很巧链接时使用的x86 lib是普通lib,而amd64 lib是LTCG lib.

解决方案:两种
1)更新当前使用的编译链接工具,使其与lib匹配。当然,这样编译出来的二进制文件可能会有所改变(优化可能不同),所以可能需要重新测试。
2)使用不带LTCG的library


说了等于没说,而且我觉得我这情况也不一样,因为在另外一台机器上编译是OK的,

于是暴力解决,复制编译正常的机器上VS2005安装目录下VC/bin文件夹到编译有问题的机器上

问题解决鸟。。。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值