In Visual Studio 2005 eine Dll einbinden
-
Hallo,
Also ich hab jetzt schon länger nicht mehr mit Visual Studio gearbeitet. Aber irgendwie find ich gerade nix zu meinem Problem.
Also bitte nicht lachen, wahrscheinlich ist es mal wieder zu einfach und ich seh den Wald vor lauter Bäumen nicht.Ich hab eine Libary (libad4.dll), die ich in mein Programm einbinden will...
Dazu hab ich in meinem Programm: #include <libad.h> stehen. Jetzt hab ich die Dll auch ins Verzeichniss mit dem Quellcode geschoben, nur sagt mir jetzt VS beim compilieren immer: fatal error C1083: Cannot open include file: 'libad4.h': No such file or directory....Irgendwo muss ich ja noch festlegen, dass er die DLL verwenden soll, und ich finds ums verrecken nicht, scheinbar renn ich auch grad bei Google in die falsche Richtung.
Was hab ich vergessen?
Danke schon mal für eure Hilfe.
-
erstmal musst du den include-pfad setzen, damit die header gefunden wird, dann noch den pfad zu der dll.
das kannst du einerseit global machen (für visual studio generell) unter extras -> optionen -> projekte und projektmappen -> VC++ verzeichnisse.
oder lokal (nur für das projekt) unter den projekteigenschaften -> konfigurationseigenschaften und dort für die header:
C / C++ : zusätlziche includeverzeichnisse (ganz oben)
und für die bibliotheken:
linker: zusätzliche bibliotheksverzeichnisse
und linker -> eingabe: zusätzliche abhängigkeitendamit das programm dann läuft, wenn es nicht aus VS gestartet wird, muss die dll noch ins ausführungsverzeichnis.
-
Der header ist nur das eine ...
Du musst die dll auch noch laden. unter VS der einfache weg: beim erstellen der dll laesst du Dir eine import lib (.lib) mit erstellen, und linkst in deiner Applikation (.exe) die lib einfach dazu. das laden der dll uebernimmt die lib dann fuer dich.
Der umstaendliche, aber traditionelle weg. Dll manuell anziehen mit loadLibrary, einsprungpunkte suchen mit getProcAdress, entladen mit freeLibrary. Man hat dafuer aber mehr flexibilitaet, weil man die zeitpunkte des ladens der dll selber in der hand hat ...
Ciao ...
-
Ha, hat geklappt Vielen Dank...
@RHBaum, da ich die DLL nicht selber erstellt habe, kann ich das leider nicht machen, wie ich aber festgestellt habe, hat das der Hersteller glücklicherweise so erledigt. Sprich es gab neben der Dll auch eine lib die ich dann includieren konnte, womit es dann reibungslos funktioniert hat.
Danke noch mal
-
Dieser Thread wurde von Moderator/in árn[y]ék aus dem Forum Webzeugs in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Nicht glücklicherweise sondern das ist Standard das eine lib dabei ist.