How to specify path for dlls a dll library uses in c++?

221 views Asked by At

I am using a dll library for my c++ code using LoadLibrary.

HINSTANCE h_dll = LoadLibrary("library1.dll");

When I do this and load the functions, library1.dll seems to use a multiple of other dll files, say library2.dll and library3.dll. So for the program to work, I need to put all 3 dll files in the same directory as the exe file.

The problem happens when I try to put the dll files in a separate directory. I can just directly write the path for library1:

HINSTANCE h_dll = LoadLibrary("C:\\mydir\\library1.dll");

But this doesn't make library1.dll search for files inside C:\\mydir and I get error messages saying library2.dll and library3.dll couldn't be found. So for the program to work, I still need to put the other two library files with the exe.

Is there a way to specify the library path from modifying only the code itself and not the system search path? e.g. sending an argument while loading the library? Or is there a way to modify the dll library files so that it could be placed in separate directories? Or maybe I could create another dll to do these?

0

There are 0 answers