我正在为第 3 方 Windows 应用程序编写 C++ 插件 DLL。我的插件 DLL 可以存在于文件系统上的任何位置,我在从 3rd-party 应用程序加载它时指定它的位置。
我的 DLL 的部分功能需要我使用第 3 方库 ( ZeroMQ )。我将我的 DLL 链接到 ZeroMQ 库并正确构建。但是,在第 3 方应用程序中加载我的 DLL 时,我一直收到The specified module could not be found.
错误消息。最初,我不清楚我是否也需要 zeromq DLL 是否使用 ZeroMQ 静态库(但显然通常有一个静态库来包装对 DLL 的访问:Using .dll in Visual Studio 2010 C++)。
我尝试将零 mq dll(在我的情况下为 libzmq-v100-mt-gd-3_2_2.dll)与我的插件 DLL 放在同一个文件夹中,但这不起作用。
最后通过纯粹的实验,我发现我可以将 zeromq dll 直接放在与第 3 方主应用程序相同的文件夹中,现在我的插件可以工作了。但是,理想情况下,我宁愿不这样做。有没有办法让我以某种方式将 zeromq dll 库与我的插件 DLL 放在同一个文件夹中?如果是这样,怎么办?在构建我的 DLL 时,也许 Visual Studio 中有一些配置选项?