我正在使用 LoadLibrary 为我的 c++ 代码使用 dll 库。
HINSTANCE h_dll = LoadLibrary("library1.dll");
当我这样做并加载函数时,library1.dll
似乎使用了多个其他 dll 文件,比如library2.dll
和library3.dll
. 所以为了让程序正常工作,我需要将所有 3 个 dll 文件与 exe 文件放在同一目录中。
当我尝试将 dll 文件放在单独的目录中时,就会出现问题。我可以直接写路径library1
:
HINSTANCE h_dll = LoadLibrary("C:\\mydir\\library1.dll");
但这不会让 library1.dll 搜索里面的文件,并且C:\\mydir
我收到错误消息说找不到。所以为了让程序正常工作,我仍然需要把另外两个库文件和exe放在一起。library2.dll
library3.dll
有没有办法通过仅修改代码本身而不是系统搜索路径来指定库路径?例如,在加载库时发送参数?或者有没有办法修改 dll 库文件,以便可以将其放置在单独的目录中?或者也许我可以创建另一个 dll 来执行这些操作?