Hello. I followed the documentation for integrating third party libraries through a plugin and was able to make basic calls from an actor in my scene to functions in my plugin. I’ve further developed the plugin to include ZMQ/CZMQ/libsodium and am trying to pull all the DLLs into Unreal. I’ve made calls to import the libraries in myPlugin.build.cs (PublicAdditionalLibraries.Add()) as well as calling PublicDelayLoadDLLs.Add() and RuntimeDependencies.Add() for all of my required DLLs.
In my project.build.cs I’ve added myPlugin as a PublicDependencyModule and PrivateDependencyModule. When I get to my StartupModule() function I am giving the path to the DLLs in my binaries folder, using FileExists() to check that they exist, and calling GetDLLHandle() on the correct path. A correct handle is generated for my libsodium and myPlugin DLLs, but zmq and czmq are both failing to generate a handle. Libsodium does correctly receive a handle. As expected, if I try to make any calls to czmq functions in my scene actors, it crashes out in delayhlp.cpp and says “module not found”.
I’m wondering if anyone knows if there is a specific issue with trying to load ZMQ and/or CZMQ into Unreal? As part of my Unreal project, I want to be able to receive TCP messages within my project from a ZMQ server run elsewhere.
Thanks.