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庫 編譯起來怎么還有這種情況?
記錄一下,