I am developing a plugin for UE4 that integrates a third-party static library. The plugin initializes the library in the StartupModule function and then exposes the library’s headers to game code in order to be able to work directly with it.
I am having two issues. Despite the StartupModule function properly initializing the library any game code that references the library sees it as uninitialized memory. For example, there are classes with static functions and variables that get initialized on startup and populate correctly. If I attempt to access that static class and retrieve the variable data it’s null from inside the game code.
To get around this I have attempted to wrap the library code from within the plugin itself. So now I have accessors inside the primary Module class that should provide access to the same instance that was initialized by the plugin. The problem with this approach is that the game module fails to link against the plugin, claiming that the module’s functions/variables symbols cannot be found. So it appears to not actually be linking to module properly despite me having added it to PublicDependencyModuleNames, PrivateDependencyModuleNames, PrivateIncludePathModuleNames, and PublicIncludePathModuleNames.
Why is this happening and how can I get this plugin/library successfully integrated?
Thanks in advance!