严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C1047 对象或库文件“.lib”是使用与其他对象(如“x64\Release\main.obj”)不同的

系列文章目录

前言

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C1047 对象或库文件“.\lib\SceneTempCal.lib”是使用与其他对象(如“x64\Release\main.obj”)不同的编译器版本创建的;请使用相同的编译器重新生成所有对象和库 SceneTest E:\osg\work\ThermalCharacteristics_20220628\SceneTest\LINK 1
在这里插入图片描述

一、错误原因

VS2019 开发,之前一直用的debug模式,代码编译正常

最近改为Release模式,一编译就出现这个错误:

LINK : fatal error C1047: 对象或库文件“.lib”是使用与其他对象(如“x64\Release\main.obj”)不同的编译器版本创建的;请使用相同的编译器重新生成所有对象和库

网上搜了一下,说是:

“我这几天也遇到了这个问题,用别人提供的lib,在vs2019下  debug模式可以运行,但release模式下就不行,出现了和你一样的错误。开始我还以为是lib不兼容,最后发现这个lib在LTCG下不能被解析,做如下改正即可:

Release模式下->配置属性->高级->全程序优化->使用链接时间代码生成 将这里的默认项 “使用链接时间代码生成”改为“无全程序优化”。 接下来就可以运行了。
在这里插入图片描述
在这里插入图片描述

一般低版本生成的lib都是可以被高版本编译器所用的,这个是兼容性的基础,呵呵!”

于是 改属性吧,改为 无全程序优化后,会报个另一个错,心想不能这么一直搞下去啊,肯定是哪不去了。

后来升级一下VS2019吧,

升级后重编译 也提示这个错,

但是这一次 属性里去掉无全程序优化后 再编译就通过了。

搞不懂,一个lib库 编译起来怎么还有这种情况?

记录一下,

参考

zoukankan

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值