[4.16.3] UELinkerFixups fails with error C2855 (charsets inconsistent with precompiled header)

I’m currently trying to Launch my level for testing as a separate window, but I’m getting this error while doing so.

Simulating the level with Play has no issues whatsoever, so I’m a bit confused as to why this is happening.

I do see some mention of source and execution character sets in the error logs, so I’m wondering if that has something to do with it. One of my UMG User Widgets has some static Text widgets that contain both English characters and Chinese characters, which I imagine is causing the issue, but I have no clue how I would start addressing something like that.

Any advice will be gladly accepted. Thanks in advance!

Here are the last relevant lines of the Output Log:

IntStats
LoadPackage=48
SavedPackage=467
LogPlayLevel: Completed Launch On Stage: Cooking in the editor, Time: 39.630012
LogPlayLevel: Running AutomationTool...
LogPlayLevel: Automation.ParseCommandLine: Parsing command line: -ScriptsForProject=D:/ue4projects/BCITreeShadow/BCITreeShadow.uproject BuildCookRun -project=D:/ue4projects/BCITreeShadow/BCITreeShadow.uproject -noP4 -clientconfig=Development -serverconfig=Development -nocompile -nocompileeditor -installed -ue4exe=UE4Editor-Cmd.exe -utf8output -platform=Win64
 -targetplatform=Win64 -build -map=/Game/BCITreeShadowMap -skipcook -CookInEditor -iterativecooking -compressed -iterativedeploy -stage -deploy -cmdline="/Game/BCITreeShadowMap -Messaging" -device=WindowsNoEditor@DESKTOP-QU8ODR3 -addcmdline="-SessionId=49F3E4F745803134E499F8AE2936FBD5 -SessionOwner='bzz' -SessionName='Launch On Device' " -run
LogPlayLevel: BuildCookRun.SetupParams: Setting up ProjectParams for D:\ue4projects\BCITreeShadow\BCITreeShadow.uproject
LogPlayLevel: Project.Build: ********** BUILD COMMAND STARTED **********
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 1.273435
LogPlayLevel: CommandUtils.Run: Run: D:\Program Files\Epic Games\UE_4.16\Engine\Binaries\DotNET\UnrealBuildTool.exe BCITreeShadow Win64 Development -Project=D:\ue4projects\BCITreeShadow\BCITreeShadow.uproject  D:\ue4projects\BCITreeShadow\BCITreeShadow.uproject -NoUBTMakefiles  -remoteini="D:\ue4projects\BCITreeShadow" -noxge -generatemanifest -NoHotReload
LogPlayLevel: CommandUtils.Run: Run: Took 1.1435395s to run UnrealBuildTool.exe, ExitCode=0
LogPlayLevel: CommandUtils.Run: Run: D:\Program Files\Epic Games\UE_4.16\Engine\Binaries\DotNET\UnrealBuildTool.exe BCITreeShadow Win64 Development -Project=D:\ue4projects\BCITreeShadow\BCITreeShadow.uproject  D:\ue4projects\BCITreeShadow\BCITreeShadow.uproject -NoUBTMakefiles  -remoteini="D:\ue4projects\BCITreeShadow" -noxge -NoHotReload -ignorejunk
LogPlayLevel: UnrealBuildTool: Performing 2 actions (4 in parallel)
LogPlayLevel: UnrealBuildTool: UELinkerFixups.cpp
LogPlayLevel: UnrealBuildTool: D:\ue4projects\BCITreeShadow\Intermediate\Build\Win64\UE4\Development\UELinkerFixups.cpp: error C2855: command-line option '/source-charset' inconsistent with precompiled header
LogPlayLevel: UnrealBuildTool: D:\ue4projects\BCITreeShadow\Intermediate\Build\Win64\UE4\Development\UELinkerFixups.cpp: error C2855: command-line option '/execution-charset' inconsistent with precompiled header
LogPlayLevel: UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: D:\ue4projects\BCITreeShadow\Binaries\Win64\BCITreeShadow.pdb
LogPlayLevel: UnrealBuildTool: Total build time: 4.89 seconds (Local executor: 0.00 seconds)
LogPlayLevel: CommandUtils.Run: Run: Took 5.1156012s to run UnrealBuildTool.exe, ExitCode=5
LogPlayLevel: Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.CommandUtils+CommandFailedException: Command failed (Result:5): D:\Program Files\Epic Games\UE_4.16\Engine\Binaries\DotNET\UnrealBuildTool.exe BCITreeShadow Win64 Development -Project=D:\ue4projects\BCITreeShadow\BCITreeShadow.uproject  D:\ue4projects\BCITreeShadow\BC
ITreeShadow.uproject -NoUBTMakefiles  -remoteini="D:\ue4projects\BCITreeShadow" -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2017.08.10-01.03.37.txt'
LogPlayLevel:    at AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
LogPlayLevel:    at AutomationTool.CommandUtils.RunAndLog(CommandEnvironment Env, String App, String CommandLine, String LogName, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
LogPlayLevel:    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary`2 EnvVars)
LogPlayLevel:    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, FileReference Project, String Target, String Platform, String Config, String AdditionalArgs, String LogName, Dictionary`2 EnvVars)
LogPlayLevel:    at AutomationTool.UE4Build.BuildWithUBT(String TargetName, UnrealTargetPlatform TargetPlatform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary`2 EnvVars)
LogPlayLevel:    at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary`2 PlatformEnvVars, Nullable`1 InChangelistNumberOverride, Dictionary`2 InTargetToManifest)
LogPlayLevel:    at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask)
LogPlayLevel:    at BuildCookRun.DoBuildCookRun(ProjectParams Params)
LogPlayLevel:    at BuildCookRun.ExecuteBuild()
LogPlayLevel:    at AutomationTool.BuildCommand.Execute()
LogPlayLevel:    at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
LogPlayLevel:    at AutomationTool.Automation.Process(String[] Arguments)
LogPlayLevel:    at AutomationTool.Program.MainProc(Object Param)
LogPlayLevel:    at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
LogPlayLevel:    at AutomationTool.Program.Main()
LogPlayLevel: Program.Main: AutomationTool exiting with ExitCode=5 (5)
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 5.754844
LogPlayLevel: BUILD FAILED
PackagingResults:Error: Error Launch failed! Unknown Error

Here’s the generated logfile mentioned above (a repeat of the messages from the UnrealBuildTool):

Performing 2 actions (4 in parallel)
UELinkerFixups.cpp
D:\ue4projects\BCITreeShadow\Intermediate\Build\Win64\UE4\Development\UELinkerFixups.cpp: error C2855: command-line option '/source-charset' inconsistent with precompiled header
D:\ue4projects\BCITreeShadow\Intermediate\Build\Win64\UE4\Development\UELinkerFixups.cpp: error C2855: command-line option '/execution-charset' inconsistent with precompiled header
ERROR: UBT ERROR: Failed to produce item: D:\ue4projects\BCITreeShadow\Binaries\Win64\BCITreeShadow.pdb
Total build time: 4.89 seconds (Local executor: 0.00 seconds)

Quick update for those from the future, I was able to solve the issue by closing out of UE4, deleting the contents of my project’s Intermediate and Saved folders, then reopening my project and allowing it to rebuild.

Hope this helps someone else.

(this question was also posted to the UE4 forums and subreddit)