DLL wird nicht gefunden
-
Hallo,
Ich habe in C eine DLL programmiert. Die Funktionen dieser DLL verwende ich in einem C++ .NET Projekt.
Die .lib und die .dll habe ich dazu in das Projektverzeichnis des C++ .NET Projekts kopiert.
Soweit funktioniert alles wunderbar.Jetzt das Problem:
Die .dll und die .lib sollen nun in einem anderen Verzeichnis abgelegt werden.
Bei der .lib habe ich das geschafft. Ich habe den Pfad zur .lib unter
Configuration Properties -> Linker -> Input -> Additional Dependencies eingetragen und kann das C++ .NET Projekt
ohne Probleme kompilieren.Wenn ich nun versuche das Programm zu öffnen, dann kommt die Fehlermeldung, dass die DLL nicht gefunden werden konnte.
Ich habe versucht die DLL unter Configuration Properties -> References hinzuzufügen aber da kam die Fehlermaldung, dass das
keine .NET DLL sei.Könnt ihr mir da weiterhelfen?
-
Du musst die DLL da hinlegen wo die EXE ist, oder wo sie durch die "Path" Umgebungsvariable gefunden werden kann...
Das hat nichts mit VS zu tun...
-
Ah! Alles klar.
Vielen Dank.
-
Hallo!
Ich greife das Thema mal auf, da ich ein ähnliches Problem habe.
Ich habe eine C++ DLL, die LIB und die H dazu. ich habe die H und die LIB in mein Projekt eingebunden und es läuft auch. wenn ich aber die Anwendung auf einem anderen Rechner laufen lassen möchte, sagt er immer, dass er die DLL nicht finden kann. Egal, ob sie sich im selben Ordner befindet oder im System32 Ordner.
PS: Bei meinem Projekt handelt es sich um .NET DLL, die ich über eine C# GUI verwende. Die Fehlermeldung sagt dann allerdings nur, dass er meine DLL oder eine Abhängigkeit davon nicht finden konnte. aber wie gesagt, auf meinem Entwicklungsrechner läuft alles...
Was kann das sein?
-
Benutze den Dependency Walker um festzustellen, welche DLL's benötigt werden.
-
Hallo!
Ja, das hab ich gemacht. hab auch paar DLLs gefunden, die gefehlt haben.
Aber es reicht nicht.Das Prinzip ist: EXE -> meineC++WrapperDLL -> fremdeC++DLL
wenn ich die fremdeC++DLL mit Depend öffnen, bekomme ich mittlerweile nur noch die Warnung: "Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module." Er scheint da mit der MPR.DLL Probleme zu haben.
Wenn ich "meineC++WrapperDLL" öffne, bekomme ich auf dem Entwicklungrechner die gleiche Warnung.
auf einem anderen Rechner bekomme ich aber den Fehler:"Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module."Ich kann damit aber so richtig nix anfangen. ich bilde mir aber ein, dass ich auf nem anderen Rechner auch schon andere Fehlermeldungen hatte...
-
ach so, noch eine Ergänzung, die vielleicht wichtig sein könnte:
Ich habe meine DLL im Release Mode erstellt und die fehlenden DLLs endeten nicht auf "D".