Link Errors: .CPP and .H files that come with the Pre-Compiled engine don't match.

This answerhub post probably explains the initial problem I’m seeing:
https://answers.unrealengine.com/questions/209684/uwidgetblueprintlibrary-gives-linker-errors-functi.html

Basically, this error gives me the impression that the Pre-Compiled version of the engine doesn’t actually use the exact same code that exists in the .cpp and .h files that it comes with for debugging etc. I’m getting a linker error which suggests to me that the engine was compiled without this function included, i.e. a different version of the source files.

The thing is, the function does appear as a blueprint node in the graph editor. There could be a lot of issues with this though, I might have just found one of many.

I think the problem you’re seeing is because that particular function isn’t exported from the UMG DLL in editor builds, even though it’s declared in the header (I expect that it’ll compile fine if you build a non-editor version of your game). The class is marked with the MinimalAPI keyword, which only exports the basic functions needed to interrogate it as a UObject.

I’ll forward on your request to have it exported.

Yeah, exporting is the problem, changing it to be exported in 4.8. Thanks Ben :slight_smile:

Ahh okay I see, is there an easy way to work out if functions are exported or not? I don’t suppose there’s a way to add a check in UBT that gives the user a more directional error message that tells them what to do/why is there? Might be useful for stuff like this, then again I have no idea how often people will run into it.

Cheers!

No, there’s no easy way to tell. That’s handled entirely by your compilers linker, UBT has no idea what’s happening it just tells the local compiler what to compile.