发现一个不知所谓的bug,这两天很多人有遇到,与Engine\Source\Runtime\Core\Public\Experimental\ConcurrentLinearAllocator.h文件相关

发现一个不知所谓的bug,这两天很多人有遇到,在打包时会遇到打包报错:如下所示
UATHelper: 打包 (Windows): C:\Program Files\Epic Games\UE_5.2\Engine\Source\Runtime\Core\Public\Experimental\ConcurrentLinearAllocator.h(31): error C4668: û�н���__has_feature������ΪԤ�������꣬�á�0���滻��#if/#elif��
UATHelper: 打包 (Windows): C:\Program Files\Epic Games\UE_5.2\Engine\Source\Runtime\Core\Public\Experimental\ConcurrentLinearAllocator.h(31): error C4067: Ԥ������ָ����������� - Ӧ���뻻�з�

解决方法是找到该文件的报错行,一般是elif开头,把这个elif改成elseif就可以正常打包(也有人说把这行注释掉也可以)
文件目录:Engine\Source\Runtime\Core\Public\Experimental\ConcurrentLinearAllocator.h

总结:我排查了一天,虽然这个是引擎文件,但是我事先尝试了重新验证引擎完整性和重装引擎都无法解决,只有手动改这里的代码才可以,目前已知3个人有这种bug,范围包括5.0-5.4版本,5.5尚未得知,目前猜测是更新了visual studio产生的bug

4 Likes

最终排查的结果,是visual studio更新到最新版本后支持库与之前不一样导致的报错,可以降visual studio版本回滚到之前的版本来解决

Thank you

目前有人测试出visual studio2022 17.8版本可以正常使用

1 Like