UE Editor can't find DLL for Qt at startup

I’m using the Qt library to parse XML data into the game. The library seams to be installed properly because Visual Studio isn’t complaining at all and does recognise all the keywords from Qt. When I compile the project there are no errors either but when the UE Editor is trying to start it crashes at around 75% and tells me that Qt is not installed on the machine and that it can’t find the Qt5core.dll file, but I know that it is installed. I’ve tried Qt in a separate standard C++ console project first to make sure it worked, and it does.

I’ve read somewhere that you need to copy the DLL files over to the Unreal Engine source binary folder, but I tried coyping it to all sorts of different folders, Binary, Plugins, etc., etc. Exactly WHERE should I copy the DLL files to make it work or is there some way to tell the UE Building tool where to look for the DLL’s? Like you do with Includes and LIB files in the build configuration file (.cs)?

First of all, UE4 APIs has a lot of tools build in, including XML parser

https://docs.unrealengine.com/latest/INT/API/Runtime/XmlParser/index.html

So search UE4 first before trying something else, in UE4 everything should work on all paltfroms that UE4 supports so you won’t have compatibility issues using them. 2nd you indeed need to configure build script to external library

Keep in mind UE4 use VS only for compiler it has own build system, VS project file is just for text editing in VS and when you hit build it runs UnrealBuildTool, which does not need VS on to work.

The decision of using Qt was made by our lead programmer, I’m not sure why, but I have no say in it, but I’m sure he has got good reasons for it.

I’ve read through that second link of yours, but it’s only talking about LIB files, I know how to get them to work. It’s the DLL files that’s the problem, and I find no useful information for that on that page, could you please be more specific?

Hmm… okay, I’ll have to look into that when I’m back at the office on Monday. But at least you made things a bit clearer to me - thanks! :slight_smile:

but you need lib that does static dll linkage. If you want dynamic linking (on runtime) heres tutorial:

There also possibility that Qt is messing something up

From that link it seems like you have to manually link in each function from the DLL, isn’t it possible to just link in the entire DLL file?

No because you need to decler each function to later call it

But if you get error that dll is missing means you already linking QT properly, so or QT messing up something or OS searching them somewherelse tharn it suppose to. Tutorial in static linking shows how to set include and lib directory. And again lest time i played with li rars dll usally has lib which properly link to dll and when use lib you executable or dll start to require dll. Maybe try placeing qt dlls in thirdparty directory of ue4

It’s working now, however I’m not sure if this was the solution. What we did was to added the path to the Qt DLL directory to the Windows Environment Paths.

But also I moved the code that uses Qt outside of the Unreal classes. So all the Qt code is running in a separate project to read all the XML data and generates all the objects, the Unreal classes then calls these functions that returns the final objects to Unreal. So Unreal itself has nothing to do with Qt.

Perhaps any of these solutions works for anyone else with similar problems. Good luck!