使用Load Library加载不同版本的DLL

时间:2016-09-17 04:21:08

标签: c++ dll

我的应用程序加载DLL(Say Plugin.dll)

  • Plugin.dll使用另一个dll(比如tplib.dll)
  • tplib.dll有多个版本。

所以我的应用程序有一个配置,它说明在运行时应该使用哪个版本。因此,在安装应用程序时,我们将在不同的目录中使用不同版本的tplib.dll,例如c:\AppDLL\Plugin\ver1c:\AppDLL\Plugin\ver2

现在这个tplib.dll链接到tplib本身提供的其他一些dll。看起来他们使用import lib链接并提供了tplib.dll的依赖dll。

所以我把dll放在了

  • c:\ AppDLL \ Plugin中的Plugin.dll
  • tplib.dll及其依赖的dll在C:\ AppDll \ Plugin \ ver1和ver2

从plugin.dll我使用绝对路径从ver1或ver2加载tplib.dll。

加载tplib.dll会抛出错误,说明找不到依赖的dll ...

看起来依赖dll的搜索不会发生在从它加载的同一目录中。

0 个答案:

没有答案