说我有一个A.lib
文件,它引用了另外两个dll:A1.dll
和A2.dll
。
此外,我还有另一个B.lib
文件,调用了A.lib
。
如果我想运行一个调用test.exe
的B.lib
;对于要找到的所有功能,当前,我必须将A.lib
,A1.dll
,A2.dll
和B.lib
放在与test.exe
相同的文件夹中。
是否可以这样编译解决方案(我正在寻找Visual Studio设置):
[test.exe
,A.lib
,B.lib
在文件夹A中
A1.dll
和A2.dll
在文件夹B中,并且当A.lib
运行时,以某种方式test.exe
是否可以引用此文件夹?
说我有一个A.lib文件,它引用了另外两个dll:A1.dll和A2.dll。此外,我还有另一个调用A.lib的B.lib文件。如果我想运行一个调用B.lib的test.exe;对于所有...
将项目设置为对DLL使用Delay Loading,然后您的代码可以在运行时调用SetDllDirectory()
或SetDllDirectory()
,然后再执行需要使用DLL的任何操作。
在这种情况下,最简单的选择是将.dll文件所在的文件夹添加到PATH环境变量中。其他选项是将程序设置为“开始于”包含这些.dll的另一个文件夹,或者将其重建为静态库并直接链接。