【发布时间】:2013-02-09 02:03:38
【问题描述】:
我正在为第 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 中有一些配置选项?
【问题讨论】:
-
@thang:触摸。我该怎么做?
-
啊,好问题,应该把它放到帖子里:p
标签: visual-c++ dll static-libraries zeromq