這真的是一個長久以來令人頭疼的玄學問題,終於在Wiki上找到了解決辦法,親測有效。現做中文總結,翻不了牆的朋友可以在這看。
解決辦法
在YourProject.Build.cs中添加ProceduralMeshComponent:
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore","ProceduralMeshComponent" });
4.17版本後,還需要在YourProject.uproject中添加ProceduralMeshComponent:
"Modules": [
{
"Name": "DrawStaticMeshInUE",
"Type": "Runtime",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"ProceduralMeshComponent"
]
}
],
"Plugins": [
{
"Name": "ProceduralMeshComponent",
"Enabled": true
}
]
爲了清除VS智能檢測的紅線報錯提示,保留Config、Content、Source、YourProject.uproject文件夾,刪除其餘文件夾。
右鍵YourProject.uproject,選擇Generate Visual Studio project files,重新生成VS項目,在此之前必須保證UE項目能夠正常打開。然後打開VS項目,右鍵 Games->你的項目->重新掃描解決方案 即可。紅線消失,編譯成功了。