I can’t build. On a clean build, I get these errors. Anyone know how to fix this?
1>[1/28] Link [x64] UnrealEditor-NNERuntimeORT.dll
1>Module.NNERuntimeORT.cpp.obj : error LNK2001: unresolved external symbol DXCORE_ADAPTER_ATTRIBUTE_D3D12_GENERIC_ML
1>..\Plugins\NNE\NNERuntimeORT\Binaries\Win64\UnrealEditor-NNERuntimeORT.dll : fatal error LNK1120: 1 unresolved externals
1>[2/28] Compile [x64] Module.AnimNextAnimGraph.4.cpp
1>P:\Projects\UE5.6_NoDQS\UnrealEngine\Engine\Plugins\Experimental\AnimNextAnimGraph\Source\AnimNextAnimGraph\Private\Traits\BlendStackTrait.cpp(378): error C4756: overflow in constant arithmetic
1> while compiling UE::AnimNext::FBlendStackCoreTrait::GetState
1>[3/28] Compile [x64] Module.AnimNextStateTree.cpp
1>P:\Projects\UE5.6_NoDQS\UnrealEngine\Engine\Plugins\Experimental\AnimNextAnimGraph\Source\AnimNextAnimGraph\Public\TraitInterfaces\ITimeline.h(123): error C4756: overflow in constant arithmetic
1> while compiling UE::AnimNext::FTimelineState::IsFinite
1>P:\Projects\UE5.6_NoDQS\UnrealEngine\Engine\Plugins\Experimental\AnimNextAnimGraph\Source\AnimNextAnimGraph\Public\TraitInterfaces\ITimeline.h(98): error C4756: overflow in constant arithmetic
1> while compiling UE::AnimNext::FTimelineState::GetPositionRatio
1>[4/28] Compile [x64] Module.AnimNextAnimGraph.3.cpp
1>P:\Projects\UE5.6_NoDQS\UnrealEngine\Engine\Plugins\Experimental\AnimNextAnimGraph\Source\AnimNextAnimGraph\Public\TraitInterfaces\ITimeline.h(123): error C4756: overflow in constant arithmetic
1> while compiling UE::AnimNext::FTimelineState::IsFinite
1>P:\Projects\UE5.6_NoDQS\UnrealEngine\Engine\Plugins\Experimental\AnimNextAnimGraph\Source\AnimNextAnimGraph\Public\TraitInterfaces\ITimeline.h(98): error C4756: overflow in constant arithmetic
1> while compiling UE::AnimNext::FTimelineState::GetPositionRatio
1>[5/28] Compile [x64] Module.NNERuntimeRDG.cpp
1>P:\Projects\UE5.6_NoDQS\UnrealEngine\Engine\Plugins\Experimental\NNERuntimeRDG\Source\NNERuntimeRDG\Private\Tests\NNERuntimeRDGUnitTestOpUnary.cpp(209): error C4756: overflow in constant arithmetic
1> while compiling UE::NNERuntimeRDG::Private::Test::UnaryOp::FElementWiseUnaryCPUHelperIsInf::RunTest
Hello there @AlienRenders!
Per checking your provided log, the “unresolved external symbol” error suggest a possible mismatch with the SDK installed in your system. Please make sure you are working the DXCORE_ADAPTER_ATTRIBUTE_D3D12_GENERIC_ML
Current requirements for 5.6 go as follows:
- Visual Studio 2022 v17.14 or newer
- Windows SDK 10.0.22621.0 or newer
- LLVM clang
- Minimum: 18.1.3
- Preferred: 18.1.8
- .NET 8.0
More details can be found in the guide below:
Additionally, I would suggest disabling the experimental plugins AnimNext and NNERuntimeRDG (unless they are required for your build). As well, please perform a cache clear, via deleting folders Intermediate, Binaries, and DerivedDataCache, then regenerating project files.
I’m using SDK 10.0.26100.
Visual Studio is up to date. 17.14.3
For .NET, I have a bunch installed, but not 8. I have 2, 5, 6 and 9 SDKs. I’ll install .NET 8 and see what that does.
The only clang executables on my machines are in the source for UE. It is version 20.0.0.
In this folder:
P:\Projects\UE5.5_NoDQS\UnrealEngine\Engine\Plugins\Experimental\NNERuntimeIREE\Binaries\ThirdParty\IREE\Windows\clang++.exe
I have clang.exe in much older folders of UE. But I don’t have clang itself installed on my machine.
Anyways, I’ll try .NET 8 to start.
I do have a Windows 10 SDK still on my machine. I wonder if that’s not what clang is picking up since that seems to be the module that has the clang exe in it. I could remove it I suppose.
edit: In the Visual Studio install, I already had .NET 6,7,8 and 9 installed, so that wasn’t it.
I noticed in GenerateProjectFiles.bat, it wants a newer tool chain. I must have missed that warning the first time around. Trying to install that now.
edit2: I already had the newest toolchain, but it was using an old one for some reason. I removed the old one and I no longer get the warning in GenerateProjectFiles.bat. Gonna rebuild and see what happens.
No change. Exact same errors. Everything is up to date for requirements.
1>Using Visual Studio 2022 14.44.35209 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207) and Windows 10.0.26100.0 SDK
I’ve had a VERY long session with grok to try and resolve this. Finally found that this is missing at the top of NNERuntimeORTUtils.cpp in the NNERuntimeORT module just before the dxcore_interface.h include.
#include <initguid.h> // this is missing
#include <dxcore_interface.h>
That fixed the linker error. I’m now trying to resolve the overflow errors. It’s clear at this point that the 5.6 branch is broken.
The rest of the errors are just bad code. They’re using INFINITY define with a float which will overflow by definition. It even says it in the comments that it must overflow.
Did nobody even try to compile this?
I replaced all the uses of INFINITY with
std::numeric_limits<float>::infinity()
Not sure if it’ll still work, but I doubt I’ll be using that plugin.
First error has been fixed upstream with this commit: https://github.com/EpicGames/UnrealEngine/commit/efab9121048a8d9518204738f8d8a8baf0965dd6
Your solution adding the include is more elegant though…
About the infinity, these commits solved it:
https://github.com/EpicGames/UnrealEngine/commit/22f81416243a9bfb89e132cea66c288596006d47
and
EpicGames/UnrealEngine/commit/9ce28ae0cb3e5c4a8bd513b37f4dd3c680617a83
(not a url link because I’m a new user and seems there’s a limit of 2 :D)
Cheers
1 Like