新系统安装UE5.3 Windows打包报错问题排除
重装系统,安装UE5.3,Windows打包时报错:
SDK Not Setup
网上找到了通过安装Windows SDK解决问题的方法,但尝试无果。突然想起来之前搭建UE环境的时候安装过Visual Studio,安装Visual Studio会带着Windows SDK,并配置Windows开发环境。
UE官网有Visual Studio的安装说明:Setting Up Visual Studio
下载 Visual Studio(community)社区版,按照官方说明进行安装,重新到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 : 预处理器指令后有意外标记 - 应输入换行符
找到原因,是因为安装Visual Studio 2022(17.12.3)的时候,安装的MSVC版本为最新,最新版本的 ConcurrentLinearAllocator.h
文件中没有 __has_feature
宏定义。
尝试把MSVC的版本降低到14.40,通过Visual Studio安装器的“单个组件”找到MSVC 14.40,勾选。在取消MSVC最新版本的时候,弹窗要删除有依赖关系的组件,其中“Visual Studio Tools for Unreal Engine”是UE编译时必要的组件,直接将MSVC的版本的办法行不通了。
继续找解决办法,又找到了一个遇到相同问题的帖子:
https://forums.unrealengine.com/t/cant-compile-5-4-projects-anymore-i-need-help/2138002
这一楼提到了安装指定版本的Visual Studio,How to install specific version of Visual Studio 2022
找到“VisualStudioSetup.exe”的下载目录,空白处右单击,选择“在终端中打开”,在终端执行如下命令:
.\visualstudiosetup.exe --channelUri https://aka.ms/vs/17/release.LTSC.17.8/channel
安装的Visual Studio版本为17.8.16,在“单个组件”中确定MSVC的版本,只看到是最新版本,不知道确切版本号,不过可以通过上边的版本号推测出最新版本应该为v14.38。
安装完,重新回到UE打包,打包成功。