Page 1 of 1

UE4 compile error

Posted: 29 Mar 2018, 12:25
by GeorgeR
What's this about:
1>LINK : fatal error LNK1194: cannot delay-load 'Noesis.dll' due to import of data symbol '"__declspec(dllimport) public: static class Noesis::DependencyProperty const * const Noesis::FrameworkElement::DefaultStyleKeyProperty" (__imp_?DefaultStyleKeyProperty@FrameworkElement@Noesis@@2PEBVDependencyProperty@2@EB)'; link without /DELAYLOAD:Noesis.dll

Re: UE4 compile error

Posted: 02 Apr 2018, 16:31
by hcpizzi
Hi George,

Sorry for the late reply.

That's a problem with delay-loading DLLs, it only works if you reference functions, but not with data. Last week we had a conversation about this, and we agreed we wanted to get rid of that if possible.

Fortunately it seems I've found a way to make it work. I'm currently testing it, and I will upload the changes to GitHub once I'm happy everything works.

Re: UE4 compile error

Posted: 03 Apr 2018, 05:12
by GeorgeR
Sounds great, thanks!

Re: UE4 compile error

Posted: 10 Apr 2018, 17:34
by hcpizzi
Hi George,

I just pushed this change to GitHub. Windows no longer delay-loads the DLL. This means the DLL has to be placed in the same folder as the EXE so it can be found and automatically loaded. Noesis.Build.cs takes care of that during the build process, so for you as a C++ dev that should take care of things.

But just so you know, we've also removed the precompiled binaries that were shipped with the plugin, and have provided Python scripts that take care of building them locally, as well as copying the DLL on WIndows. This is mostly aimed at people using Launcher or with Blueprint only projects, but I wanted to let you know just so you are aware of the changes.

We wanted to make sure this worked for all combinations of Engine/Project plugin, Launcher/GitHub engine and C++/Blueprint project, which is why this fix has taken longer than expected, but there's always the possibility that we may have missed something. So, as always, please let us know if you find any problems.