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.
1 Like
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.
2 Likes
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
3 Likes