Ich habe ein Programm in C++ indem ich DLL Dateien zur Laufzeit laden möchte.
std::string pluginFolder = "./";
std::vector<std::string> dllFiles = getDllFiles(pluginFolder);
std::vector<MyLibrary*> loadedLibraries;
for (const std::string& dllPath : dllFiles) {
MyLibrary* myLib = new MyLibrary(dllPath.c_str());
if (!myLib->IsValid()) {
delete myLib;
continue;
}
MyFunction myFn = (MyFunction)myFn->GetFunction("register");
if (myFn) {
myFn(&interpreter);
loadedLibraries.push_back(myLib);
} else {
delete myLib;
}
}
Das Problem ist aber wenn ich das Programm im PATH stehen habe dann lädt es die DLL Dateien nicht weil er sie im aktuellen Verzeichnis sucht. Wie kann ich machen, dass die DLL Dateien aus dem Verzeichnis geladen werden worin die EXE Datei liegt oder einem anderen Unterordner davon?