引用另一个文件夹中的.dll

问题描述 投票:0回答:2

说我有一个A.lib文件,它引用了另外两个dll:A1.dllA2.dll

此外,我还有另一个B.lib文件,调用了A.lib

如果我想运行一个调用test.exeB.lib;对于要找到的所有功能,当前,我必须将A.libA1.dllA2.dllB.lib放在与test.exe相同的文件夹中。

是否可以这样编译解决方案(我正在寻找Visual Studio设置):

  • [test.exeA.libB.lib在文件夹A中

  • A1.dllA2.dll在文件夹B中,并且当A.lib运行时,以某种方式test.exe是否可以引用此文件夹?

说我有一个A.lib文件,它引用了另外两个dll:A1.dll和A2.dll。此外,我还有另一个调用A.lib的B.lib文件。如果我想运行一个调用B.lib的test.exe;对于所有...

c++ visual-studio lib
2个回答
0
投票

将项目设置为对DLL使用Delay Loading,然后您的代码可以在运行时调用SetDllDirectory()SetDllDirectory(),然后再执行需要使用DLL的任何操作。


-2
投票

在这种情况下,最简单的选择是将.dll文件所在的文件夹添加到PATH环境变量中。其他选项是将程序设置为“开始于”包含这些.dll的另一个文件夹,或者将其重建为静态库并直接链接。

© www.soinside.com 2019 - 2024. All rights reserved.