Unreal项目引用第三方库时,由于MSVC版本不同导致Link失败的问题
1>AirLib.lib(FileSystem.obj) : 找到 MSIL .netmodule 或使用 /GL 编译的模块;正在使用 /LTCG 重新启动链接;将 /LTCG 添加到链接命令行以改进链接器性能 1>EXEC : fatal error C1900: “P1”(第“20240319”版)和“P2”(第“20230904”版)之间 Il 不匹配 1>LINK : fatal error LNK1257: 代码生成失败
以上是报错信息
原因:Unreal项目使用的MSVC工具链版本与第三方依赖库编译时的MSVC工具链版本不同
解决方法:
- VS2022打开第三方依赖库的源码工程,右键项目->属性->高级->MSVC工具集版本(设置与UE项目统一)
- 重新编译第三方库
- 拷贝lib和include文件夹到对应文件夹
- 重新编译UE项目
ps: UE工程使用的MSVC ToolChain版本可以在编译错误日志中查看
Using Visual Studio 2022 14.38.33145 toolchain (D:\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130)
浙公网安备 33010602011771号