Hello.
I have compiled UE from 4.14 branch and now I am trying to build my project.
But it falls with error:
Running e:/UnrealEngine/Engine/Binaries/DotNET/UnrealBuildTool.exe -projectfiles -project="E:/MyGame/MyGame.uproject" -game -engine -progress
Discovering modules, targets and source code for project...
Messages while compiling E:\MyGame\Intermediate\Build\BuildRules\MyGameModuleRules.dll:
e:\MyGame\Source\MyGameServer.Target.cs(32,48) : error CS0115: "MyGameServerTarget.GUBP_GetPlatforms_MonolithicOnly(UnrealBuildTool.UnrealTargetPlatform)": ?? ?????? ??⮤, ?ਣ????? ??? ??८?।??????
e:\MyGame\Source\MyGameServer.Target.cs(41,53) : error CS0115: "MyGameServerTarget.GUBP_GetConfigs_MonolithicOnly(UnrealBuildTool.UnrealTargetPlatform, UnrealBuildTool.UnrealTargetPlatform)": ?? ?????? ??⮤, ?ਣ????? ??? ??८?।??????
UnrealBuildTool Exception: ERROR: UnrealBuildTool encountered an error while compiling source files
MyGameServer.Target.cs has code from A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums sample:
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
public class MyGameServerTarget : TargetRules
{
public MyGameServerTarget(TargetInfo Target)
{
Type = TargetType.Server;
}
//
// TargetRules interface.
//
public override void SetupBinaries(
TargetInfo Target,
ref List<UEBuildBinaryConfiguration> OutBuildBinaryConfigurations,
ref List<string> OutExtraModuleNames
)
{
base.SetupBinaries(Target, ref OutBuildBinaryConfigurations, ref OutExtraModuleNames);
OutExtraModuleNames.Add("MyGame");
}
public override bool GetSupportedPlatforms(ref List<UnrealTargetPlatform> OutPlatforms)
{
// It is valid for only server platforms
return UnrealBuildTool.UnrealBuildTool.GetAllServerPlatforms(ref OutPlatforms, false);
}
public override List<UnrealTargetPlatform> GUBP_GetPlatforms_MonolithicOnly(UnrealTargetPlatform HostPlatform)
{
if (HostPlatform == UnrealTargetPlatform.Mac)
{
return new List<UnrealTargetPlatform>();
}
return new List<UnrealTargetPlatform> { HostPlatform, UnrealTargetPlatform.Win32, UnrealTargetPlatform.Linux };
}
public override List<UnrealTargetConfiguration> GUBP_GetConfigs_MonolithicOnly(UnrealTargetPlatform HostPlatform, UnrealTargetPlatform Platform)
{
return new List<UnrealTargetConfiguration> { UnrealTargetConfiguration.Development };
}
}
I found that in commit for RulesCompiler.cs (2016/09/30, 63ab3d83c240d17ea70ec201f2626c6405dda553) there is interesting comment
"Change 3132815 on 2016/09/20 by Ben.Marsh
AutomationTool: Delete GUBP. Everything now uses BuildGraph!"
How to make server target with BuildGraph?
Thank you!
Chapstic
(Chapstic)
2
I would like to know the solution to this issue as well.
For now I have commented out those two functions so that it can compile and our team can continue to develop.
ufna
(ufna)
3
Just remove it and it’s all 
Inph1del
(Inph1del.📺)
4
Noticed there is no update on this thread but the monolith lines need to be commended out they are not used any longer.
public override List<UnrealTargetPlatform> GUBP_GetPlatforms_MonolithicOnly(UnrealTargetPlatform HostPlatform)
{
if (HostPlatform == UnrealTargetPlatform.Mac)
{
return new List<UnrealTargetPlatform>();
}
return new List<UnrealTargetPlatform> { HostPlatform, UnrealTargetPlatform.Win32, UnrealTargetPlatform.Linux };
}
public override List<UnrealTargetConfiguration> GUBP_GetConfigs_MonolithicOnly(UnrealTargetPlatform HostPlatform, UnrealTargetPlatform Platform)
{
return new List<UnrealTargetConfiguration> { UnrealTargetConfiguration.Development };
}
Comment that out and build. This is due to GUBP not being used its in the patch notes somewhere