UE5编译,VS出现MSB307编译错误

为什么编译UE5源码会出现这样的错误?

img

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 MSB3073 命令“Build\BatchFiles\Build.bat DatasmithSDK Win64 Development -WaitMutex -FromMsBuild”已退出,代码为 6。 DatasmithSDK C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets 45

网上删除VisualStudioDTE文件夹的方法已经试过了,没有用。

问题出现在MSVC编译器(14.32.31326:MSVC v143-VS 2022 C++v14.32-17.2)中
Visual Studio 2022 17.3.3 最新版本,版本过高

使用以下版本 MSVC编译器,重新编译即可。
14.29.30133: MSVC v142 - VS 2019 C++ v14.29-16.11
14.30.30705: MSVC v143 - VS 2022 C++ v14.30-17.0
14.31.31103: MSVC v143 - VS 2022 C++ v14.31-17.1

具体解释可以看一下这篇文章:
https://blog.csdn.net/GeekDongHuang/article/details/126777245
如有帮助,还请采纳!谢谢!

把VS2019升级到16.11.21试试
https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes#release-notes-icon-visual-studio-2019-version-161121

分析:
第一:MSB本身是编码错误。
检查一下代码看有没有错误和警告。解决这些错误和警告就可以了。
第二:MSB3073报错来自虚幻引擎编码保护。
关上虚幻引擎就不报错的原因是Live Coding没有运行,只有VS编译器运行,所以不报错。
【用ctrl+alt+f11就是调用引擎LiveCoding(实时代码编写)。通过引擎实时代码编写编译VS中更改的代码然后就可以实时显示到引擎中了。如果实时代码编写编译失败就表示你的代码中出现语法错误等,虚幻引擎就会不显示这个C++类,直至错误解决后重新生成编译通过。 】
【当然你用的是UE5,第二点的方法是在UE4上的思路】

https://blog.csdn.net/GeekDongHuang/article/details/126777245
详细描述了VS出现MSB307编译错误 以及解决方法