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库 编译起来怎么还有这种情况?
记录一下,