Um DLLs von Drittanbietern in mein VS 2008 C ++ - Projekt zu integrieren, habe ich Folgendes getan (Sie sollten in der Lage sein, in 2010, 2012 usw. Zu übersetzen) ...
Ich habe die Header-Dateien zusammen mit meinen anderen Header-Dateien in meine Lösung eingefügt und Änderungen an meinem Code vorgenommen, um die Funktionen der DLLs aufzurufen (andernfalls, warum sollten wir das alles tun?). : ^) Dann habe ich den Build geändert, um den LIB-Code in meine EXE-Datei zu verknüpfen, die DLLs an ihren Platz zu kopieren und sie zu bereinigen, wenn ich eine 'Bereinigung' durchgeführt habe - ich erkläre diese Änderungen unten.
Angenommen, Sie haben zwei DLLs von Drittanbietern, A.DLL und B.DLL, und Sie haben jeweils eine Stub-LIB-Datei (A.LIB und B.LIB) und Header-Dateien (AH und BH).
- Erstellen Sie ein "lib" -Verzeichnis unter Ihrem Lösungsverzeichnis, z. B. mit Windows Explorer.
- Kopieren Sie Ihre .LIB- und .DLL-Dateien von Drittanbietern in dieses Verzeichnis
(Sie müssen die nächsten Änderungen einmal für jedes von Ihnen verwendete Quell-Build-Ziel vornehmen (Debug, Release).)
Machen Sie Ihre EXE von den LIB-Dateien abhängig
- Gehen Sie zu Konfigurationseigenschaften -> Linker -> Eingabe -> Zusätzliche Abhängigkeiten und listen Sie dort Ihre .LIB-Dateien einzeln auf, getrennt durch Leerzeichen :
A.LIB B.LIB
- Gehen Sie zu Konfigurationseigenschaften -> Allgemein -> Zusätzliche Bibliotheksverzeichnisse und fügen Sie Ihr "lib" -Verzeichnis zu allen bereits vorhandenen hinzu. Einträge werden durch Semikolons getrennt . Wenn Sie beispielsweise bereits
$(SolutionDir)fodder
dort waren, ändern Sie es $(SolutionDir)fodder;$(SolutionDir)lib
in "lib".
Erzwingen Sie, dass die DLLs in das Ausgabeverzeichnis kopiert werden
- Gehen Sie zu Konfigurationseigenschaften -> Build-Ereignisse -> Post-Build-Ereignis
- Geben Sie Folgendes für die Befehlszeile ein (die Schalterbedeutungen finden Sie unter "XCOPY /?" In einem DOS-Fenster):
XCOPY "$(SolutionDir)"\lib\*.DLL "$(TargetDir)" /D /K /Y
- Sie können so etwas für Beschreibung eingeben:
Copy DLLs to Target Directory
- Vom Build ausgeschlossen sollte sein
No
. Klicken Sie auf OK
.
Weisen Sie VS an, die DLLs zu bereinigen, wenn ein Ausgabeordner bereinigt wird:
- Gehen Sie zu Konfigurationseigenschaften -> Allgemein -> Beim Löschen zu löschende Erweiterungen und klicken Sie auf "...". Fügen Sie
*.dll
am Ende der Liste hinzu und klicken Sie auf OK
.