zoukankan      html  css  js  c++  java
  • fatal error C1047: 对象或库文件“.x64ReleaseDes.obj”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库

    问题描述:

    在把一个32位的dll编译成64位的时候提示上面的错误

    解决办法:

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

    按照上面的解决办法更改后,用2008编译会提示新的错误:

    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

    我改成了用2012编译最后便已通过了



  • 相关阅读:
    整数反转
    两数之和
    设计模式-备忘录模式
    设计模式-迭代器模式
    设计模式-中介者模式
    设计模式-观察者模式
    C# OpenFileDialog和SaveFileDialog的常见用法
    SQL数据库表结构的修改(sql2005)
    C# 时间格式处理
    C# 集合类(四)
  • 原文地址:https://www.cnblogs.com/vcerror/p/4289021.html
Copyright © 2011-2022 走看看