内容目录
在编译 UE 的时候,发生了如下错误。
Detected compiler newer than Visual Studio 2022, please update min version checking in WindowsPlatformCompilerSetup.h
10>ConcurrentLinearAllocator.h(31): Error C4668 : 没有将“__has_feature”定义为预处理器宏,用“0”替换“#if/#elif”
10>ConcurrentLinearAllocator.h(31): Error C4067 : 预处理器指令后有意外标记 - 应输入换行符
原因是因为编译的过程中没有找到 __has_feature
宏,而这个是 MSVC 中的宏。
发现,14.36.32532
与 14.38
均在 \VC\Tools\MSVC\14.42.34433\include\sanitizer\common_interface_defs.h
第 20 行有这个宏。
但是我的 14.42.34433
却没有这个宏:
回退到旧版本之后,这个问题解决了。