Grundlegendes zu den Abhängigkeiten einer Visual C++-Anwendung

Um zu bestimmen, von welchen Visual C++-Bibliotheken eine Anwendung abhängt, können Sie die Projekteigenschaften anzeigen. (Öffnen Sie das Kontextmenü für das Projekt und wählen Sie Eigenschaften, um das Dialogfeld Eigenschaftenseiten zu öffnen.) Sie können auch den Dependency Walker (depends.exe) verwenden, der ein umfassenderes Bild der Abhängigkeiten verschafft.

Im Dialogfeld Eigenschaftenseiten können Sie verschiedene Seiten unter Konfigurationseigenschaften überprüfen, um die Abhängigkeiten zu verstehen.Wenn im Projekt beispielsweise die MFC-Bibliotheken verwendet werden und Sie Verwendung von MFC, MFC in einer gemeinsam genutzten DLL verwenden in den Konfigurationseigenschaften, Seite Allgemein, wählen, ist Ihre Anwendung bei der Laufzeit von MFC-DLLs abhängig, wie beispielsweise mfc100.dll.Wenn die Anwendung MFC nicht verwendet, kann sie dennoch von der CRT-Bibliothek abhängig sein, wenn Sie einen Laufzeitbibliothek-Wert von Multithreaded-Debug-DLL (/MDd) oder Multithreaded-DLL (/MD) in den Konfigurationseigenschaften, C/C++, Seite Codegenerierung, wählen.

Sie können umfassender bestimmen, von welchen DLLs eine Anwendung abhängt, indem Sie die Anwendung mit dem Dependency Walker (depends.exe) öffnen.Sie können das Tool von der Dependency Walker-Website herunterladen.

Wenn Sie depends.exe verwenden, können Sie eine Liste der statisch mit der Anwendung verknüpften DLLs und eine Liste ihrer verzögert geladenen DLLs überprüfen.Wenn Sie eine Liste von DLLs erhalten möchten, die dynamisch geladen werden, können Sie die Profilerstellungsfunktion in depends.exe verwenden, um die Anwendung zu testen, bis Sie sicher sind, dass alle Codepfade ausgeführt wurden.Nach Abschluss der Profilerstellungssitzung zeigt depends.exe die dynamisch geladenen DLLs an.

Bedenken Sie bei Verwendung von depends.exe, dass eine DLL von einer anderen DLL oder einer bestimmten Version einer DLL abhängig sein kann.Sie können depends.exe sowohl auf dem Entwicklungscomputer als auch auf einem Zielcomputer verwenden.Auf dem Entwicklungscomputer gibt depends.exe die DLLs zurück, die zur Unterstützung einer Anwendung erforderlich sind.Wenn Sie Schwierigkeiten dabei haben, eine Anwendung auf einem Zielcomputer auszuführen, können Sie depends.exe dorthin kopieren und die Anwendung dann im Tool öffnen, sodass Sie bestimmen können, ob irgendwelche DLLs fehlen oder falsch sind.

Wenn Sie wissen, von welchen DLLs die Anwendung abhängt, können Sie bestimmen, welche davon Sie bei einer Bereitstellung auf einem anderen Computer gemeinsam mit der Anwendung verteilen müssen.System-DLLs müssen in den meisten Fällen nicht verteilt werden, eventuell aber DLLs für Visual C++-Bibliotheken.Weitere Informationen finden Sie unter Ermitteln der neu zu verteilenden DLLs.

Siehe auch

Weitere Ressourcen

Bereitstellen von systemeigenen Desktopanwendungen (Visual C++)