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

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

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

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

网上搜了一下,说是:

    “我这几天也遇到了这个问题,用别人提供的lib,在vs2010下  debug模式可以运行,但release模式下就不行,出现了和你一样的错误。开始我还以为是lib不兼容,最后发现这个lib在LTCG下不能被解析,做如下改正即可:
Release模式下->属性->常规->项目默认值->全程序优化  将这里的默认项 “使用链接时间代码生成”改为“无全程序优化”。  接下来就可以运行了。 
一般低版本生成的lib都是可以被高版本编译器所用的,这个是兼容性的基础,呵呵!”

 

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

后来升级一下VS2019吧,

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

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

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

记录一下,

posted @ 2021-03-03 16:30  伟大的厨师  阅读(4296)  评论(0编辑  收藏  举报