I successfully managed to compile a build of my test project last month, but I am unable to do so now. The only thing codewise that’s really changed is the latest Cesium update I think. I’m getting this error now:
Just to verify, I reinstalled the Cesium Samples project and tried compiling that and it gave me the same error. This is when compiling for 64 bit windows, development config.
Nope, it’s been a few weeks since I’ve tried compiling but was still not able to the last time I tried. I can tell you what doesn’t fix the problem though
If you figure out a solution would you please note it on here? Would love to eventually be able to compile the project. Thanks!
Are you still experiencing this issue? The plugin was just updated to version 1.4.0, and that may help the problem. If you get a chance, please try updating the plugin and compiling again.
I’ve put compiling on the backburner, so I’ll update the plugin and try recompiling to see. I was in touch with @Kevin_Ring and I was also unable to compile the vanilla CesiumForUnrealSamples-v1.3.0 project at the time. Is there also a new 1.4.0 version of the Samples project I can try compiling with, to see if it works this time?
Are you building Cesium for Unreal yourself? i.e. is Cesium for Unreal in your project’s Plugins directory? Or is it just in your Engine plugins directory?
It’s only a guess, but those errors look like what you’d get if you compiled cesium-native with Visual Studio 2019, and then tried to compile Cesium for Unreal with Visual Studio 2017.
I am unfortunately not programmer savvy enough to try to compile my own Cesium For Unreal I am merely using the plugin as compiled and available from the marketplace and running a build directly from that.
My current machine does not have VS2019, it has/had 2015 which is now superseded with an install of VS2017.
Note that as I mentioned, I was able to successful build an executable with an earlier version of Cesium For Unreal in April. Sometime between that and 1.3.0, it began to fail to build.
Apologies if you’ve already posted this somewhere, but can you share your complete log? Are you building in Visual Studio or in Unreal Engine?
If you’re using Cesium for Unreal as an Engine plugin, there’s usually no need to compile at all. Cesium for Unreal is already compiled, and a Blueprints-only project doesn’t need to be compiled. So the only reason your project would (should?) need to be compiled is if you have other C++ code in it. Perhaps there is some conflict with that C++ code?
But you said you’re using the Cesium for Unreal Samples project, and that is definitely Blueprints-only and thus compiling it makes no sense. So… I’m a bit lost.
Ok I just tried this myself. Here’s the relevant portion of my log:
LogUObjectHash: Compacting FUObjectHashTables data took 0.39ms
LogMainFrame: Project requires temp target (CesiumForUnreal plugin is enabled)
LogLauncherProfile: Unable to use promoted target - ../../../../../../Test/CesiumforUnrealSamples/Binaries/Win64/UE4Game.target does not exist.
UATHelper: Packaging (Windows (64-bit)): Running AutomationTool...
UATHelper: Packaging (Windows (64-bit)): Parsing command line: -ScriptsForProject=C:/Test/CesiumforUnrealSamples/CesiumForUnrealSamples.uproject BuildCookRun -nocompileeditor -installed -nop4 -project=C:/Test/CesiumforUnrealSamples/CesiumForUnrealSamples.uproject -cook -stage -archive -archivedirectory=C:/Test/package -package -ue4exe="C:\Program Files\Epic
Games\UE_4.26\Engine\Binaries\Win64\UE4Editor-Cmd.exe" -ddc=InstalledDerivedDataBackendGraph -pak -prereqs -nodebuginfo -targetplatform=Win64 -build -clientconfig=Development -utf8output
UATHelper: Packaging (Windows (64-bit)): Setting up ProjectParams for C:\Test\CesiumforUnrealSamples\CesiumForUnrealSamples.uproject
UATHelper: Packaging (Windows (64-bit)): CesiumForUnrealSamples.uproject requires a temporary target.cs to be generated (CesiumForUnreal plugin is enabled)
UATHelper: Packaging (Windows (64-bit)): ********** BUILD COMMAND STARTED **********
UATHelper: Packaging (Windows (64-bit)): Running: C:\Program Files\Epic Games\UE_4.26\Engine\Binaries\DotNET\UnrealBuildTool.exe CesiumForUnrealSamples Win64 Development -Project=C:\Test\CesiumforUnrealSamples\CesiumForUnrealSamples.uproject C:\Test\CesiumforUnrealSamples\CesiumForUnrealSamples.uproject -NoUBTMakefiles -remoteini="C:\Test\CesiumforUnrealSa
mples" -skipdeploy -Manifest=C:\Test\CesiumforUnrealSamples\Intermediate\Build\Manifest.xml -NoHotReload -log="C:\Users\kring\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.26\UBT-CesiumForUnrealSamples-Win64-Development.txt"
UATHelper: Packaging (Windows (64-bit)): Parsing headers for CesiumForUnrealSamples
UATHelper: Packaging (Windows (64-bit)): Running UnrealHeaderTool "C:\Test\CesiumforUnrealSamples\CesiumForUnrealSamples.uproject" "C:\Test\CesiumforUnrealSamples\Intermediate\Build\Win64\CesiumForUnrealSamples\Development\CesiumForUnrealSamples.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abs
log="C:\Users\kring\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.26\UHT-CesiumForUnrealSamples-Win64-Development.txt" -installed
UATHelper: Packaging (Windows (64-bit)): Reflection code generated for CesiumForUnrealSamples in 3.158261 seconds
UATHelper: Packaging (Windows (64-bit)): Writing manifest to C:\Test\CesiumforUnrealSamples\Intermediate\Build\Manifest.xml
UATHelper: Packaging (Windows (64-bit)): Building CesiumForUnrealSamples...
UATHelper: Packaging (Windows (64-bit)): Using Visual Studio 2019 14.29.30038 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30037) and Windows 10.0.19041.0 SDK (C:\Program Files (x86)\Windows Kits\10).
UATHelper: Packaging (Windows (64-bit)): [Upgrade]
UATHelper: Packaging (Windows (64-bit)): [Upgrade] Using backward-compatible build settings. The latest version of UE4 sets the following values by default, which may require code changes:
UATHelper: Packaging (Windows (64-bit)): [Upgrade] bLegacyPublicIncludePaths = false => Omits subfolders from public include paths to reduce compiler command line length. (Previously: true).
UATHelper: Packaging (Windows (64-bit)): [Upgrade] ShadowVariableWarningLevel = WarningLevel.Error => Treats shadowed variable warnings as errors. (Previously: WarningLevel.Warning).
UATHelper: Packaging (Windows (64-bit)): [Upgrade] PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs => Set in build.cs files to enables IWYU-style PCH model. See https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html. (Previously: PCHUsageMode.UseSharedPCHs).
UATHelper: Packaging (Windows (64-bit)): [Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.V2;' in CesiumForUnrealSamples.Target.cs, and explicitly overriding settings that differ from the new defaults.
UATHelper: Packaging (Windows (64-bit)): [Upgrade]
UATHelper: Packaging (Windows (64-bit)): Building 6 actions with 12 processes...
UATHelper: Packaging (Windows (64-bit)): [1/6] turbojpeg.dll
UATHelper: Packaging (Windows (64-bit)): [2/6] Default.rc2
UATHelper: Packaging (Windows (64-bit)): [3/6] SharedPCH.Core.cpp
UATHelper: Packaging (Windows (64-bit)): [4/6] CesiumForUnrealSamples.cpp
UATHelper: Packaging (Windows (64-bit)): [5/6] CesiumForUnrealSamples.exe
UATHelper: Packaging (Windows (64-bit)): Creating library C:\Test\CesiumforUnrealSamples\Binaries\Win64\CesiumForUnrealSamples.lib and object C:\Test\CesiumforUnrealSamples\Binaries\Win64\CesiumForUnrealSamples.exp
UATHelper: Packaging (Windows (64-bit)): [6/6] CesiumForUnrealSamples.target
UATHelper: Packaging (Windows (64-bit)): Total time in Parallel executor: 9.44 seconds
UATHelper: Packaging (Windows (64-bit)): Total execution time: 15.10 seconds
UATHelper: Packaging (Windows (64-bit)): Took 15.2059558s to run UnrealBuildTool.exe, ExitCode=0
UATHelper: Packaging (Windows (64-bit)): ********** BUILD COMMAND COMPLETED **********
The thing that jumps out at me here is that my system is using Visual Studio 2019 instead of 2017. This is despite the fact that I’ve changed the project settings to use Visual Studio 2017 (I have both installed):
Cesium for Unreal is compiled with Visual Studio 2017. In fact, if you’ve installed it from the Epic Marketplace, it’s been compiled by Epic themselves according to their specifications. So I don’t know why VS2017 would have linker errors, nor do I know why UE seems to be ignoring the setting on my system. But I suspect you can get past your issue simply by installing Visual Studio 2019. Is there a reason that’s not possible?
Hi all, returning to this test project after several months. I’ve noticed that with UE updated to 4.27.2 and the latest Cesium plugin installed, I am able to successfully compile a working build (on the same original machine that failed). Just wanted to pass along the info.