【VS】Visual Studio 2020 编译C1900问题(P1”(第“20180423”版)和“P2”(第“20180214”版)之间 Il 不匹配)
提出问题
笔者在编译一个VS2020的项目时候,在所有源代码都编译成功的前提后,最后冒出来下面的问题:
问题探究
最后发现,该项目引用的很多个LIB中,使用到了sqlite.lib
,它是LTCG
的library。
(LTCG (Link Time Code Generation)
)
通过 Visual Studio 2022 Developer Command Prompt v17.9
. 查看后,
(命令行:link -dump -disasm E:\Lib\sqlite.lib
)
发现确实如此:
而正常的lib(非LTCG)是下面的汇编代码结构:
解决方案
从网上找到sqlite的c源码,重新编译一个。