Externe DLL in C++ Vertändnisproblem



  • Hallo Community,

    ich musste heute zwangsläufig von dem mir vertrauten VB .Net auf C++ umsteigen.
    Bin also ein ganz blutiger Anfänger.

    Jetzt muss ich eine DLL (nicht von mir erstellt, ist eine DLL von Microsoft aus einem OPK Kit) in mein aktuelles Projekt einbinden.

    Ich weis dass das Netzt voll ist mit dieser Art von Fragen, aber es tut mir echt leid, das ist alles zu "hoch" für mich. Zumindest im Moment noch.

    Jetzt meine Frage...
    Kann mit jemand bitte in ganz einfachen Worten erlären wie ich eine DLL in ein C++ Projekt einbinden kann.

    Im moment verwende ich Visual Studio 2008 Express C++

    Danke schon mal im vorraus

    MFG Chris



  • Ich nehme jetzt mal an Du meinst mit C++ auch wirklich C++ und nicht C++/CLI (eine .NET Sprache).

    Es gibt verschiedene Möglichkeiten, ich erklär mal eine gängige Variante:

    1. *.lib in den Linker Settings bei Input angeben.
    2. *.h Files via Additional Include Pathes bekanntmachen.

    Falls alle Files gefunden werden, sollte es bis hierhin kompilieren und linken.

    Fürs Ausführen musst Du dann noch die *.dll in das Verzeichnis legen wo sich die *.exe befindet.

    Das wäre dann eine statisch gelinkte DLL, welche implizit geladen wird.

    Simon



  • Hallo,

    und danke schon mal für die schnelle Antwort!
    Leider ist mir nicht ganz klar was du mit 1. und 2. meinst.

    Was kommt an Stelle des *? der Name der DLL?
    Wenn ja wo trage ich diese zwei Einträge ein?

    MFG
    Chris

    PS: Sry für mein Unverständnis aber wie gesagt war vorher VB.Net gewohnt



  • Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ev. muss erstmal geklärt werden wie Du die DLL verwenden möchtest.
    Ist das eine "bekannte" Dll oder eine selbstgemachte?
    Wie wurde sie gemacht?

    Simon



  • Sry, für meine sperrlichen Infos.

    Also dass ist eine DLL von Microsoft zu der ich eine Beschreibung habe.
    Sie ist also nicht von mir. Sie sollte mir lediglich diverse Funktionen zur verfügung stellen.

    Noch mehr Infos?
    Bitte einfach nachfragen!

    LG
    Chris



  • Du mußt in den Projekt-Eigenschaften die von theta beschriebenen zwei Einträge vornehmen (und dabei dann natürlich * durch den Namen der DLL ersetzen -)



  • Also ich habe jetzt den Pfad zur dll Datei unter Eigenschaften --> Linker --> Eingabe --> oberste spalte eingetragen! War das richtig?

    Ketzt zur *.lib. Wenn ich dort den dll-namen und .lib eingebe sagt er beim kompilieren dass er die Datei nicht finden kann (is ja irgendwie klar habe ja nur die dll und keine lib). An dieser Stelle komme ich nicht weiter.

    MFG
    Chris



  • Wenn Du keine lib hast, dann ist das entweder so vorgesehen und du musst einen anderen Mechanismus benutzten (LoadLibrary, GetProcAddress) ODER da sollte eine lib sein, ist aber aus irgendwelchen Gründen nicht dabei. Dann musst Du die lib auftreiben (vom Hersteller, vom Entwickler, von deinem Projekt...).

    Also, was ist das für eine DLL? Selbstgemacht? Gekauft?

    Simon



  • Also dass ist eine dll von Microsoft. Sie war bestandteil des OPK-Kits für Windows Home Server 2008. Jetzt muss ich laut Microsoft eine Anwendung erstellen die diverse Funktionen erfüllt. Für diese Anwendung und die benötigten Funktionen stellt Microsoft diese DLL zu verfügung.
    Ich habe die DLL von einer CD von Microsoft und deshalb bezweifle ich dass da die *.lib fehlt.

    Kannst du mir vielleicht noch einen anderen Weg aufzeigen?

    MFG
    und danke für die Bemühungen!!!

    Chris



  • Ev. ist es auch eine COM Dll, die müsstest Du nochmal anders einbinden.

    Wie heisst die Dll?

    (OPK heisst OEM Preinstallation Kit, oder?)

    Simon


Anmelden zum Antworten