Frage zum Einbinden einer DLL



  • Hallo,

    ich hab mir mal dieses Tutorial hier zu DLLs mit VC++6 angeschaut und hab den Code (außer Groß- und Kleinschreibung) nicht verändert. Die DLL zu erstellen hat auch geklappt, allerdings nur mit der Warnung, das __declspec(dllexport) links vom struct STRUKTUR würde ignoriert, da keine Variable vorhanden sei 😕

    Jetzt hab ich die DLL-Datei dlltest.dll in das Verzeichnis meines neuen Projekts geschoben, und dem Projekt hinzugefügt. Der Quellcode der cpp-Datei sah so aus:

    #include "iostream.h"
    #include "dlltest.h"
    
    int main()
    {
    	struktur s;
    	Set(s, 5);
    	cout << "Wert von s: " << Get(s) << endl;
    	return 0;
    }
    

    Wie gesagt, ich hab struktur vorher auch in Kleinbuchstaben deklariert 😉
    Nur kommt jetzt der Fehler:

    F:\Projekte\DLLTestProjekt\dlltestfile.cpp(2) : fatal error C1083: Cannot open include file: 'dlltest.h': No such file or directory
    Error executing cl.exe.

    Er findet also die im Projekt der DLL befindliche dlltest.h nicht, aber ich habs so gemacht, wie es im Tutorial beschrieben wurde.
    Was muss ich nun machen, um die Funktionen der DLL korrekt nutzen zu können?
    Freue mich sehr über Hilfe 😉

    greets



  • Quasi möchte ich nur wissen, wie man eine schon fertiggestellte DLL-Datei in mein Projekt einbindet (ist eine Konsolenanwendung). Die DLL hat nur eine struct und zwei Funktionen zum Lesen und Setzen des Wertes der Struktur.
    So wie ich das verstanden hab, sollte die DLL-Datei im gleichen Verzeichnis wie das Projekt sein, das tut sie auch 😉
    Weiterhin hab ich sie dem Projekt hinzugefügt, wie im Tutorial gesagt wurde, und dann soll man ja den Header der DLL einbinden, aber diesen findet VC++ nicht ...
    Ist relativ dringend, deshalb schreib ich nochmal 😉

    greetz



  • Hallo,

    ich weiss nicht ob das funktionrt

    LoadLibraryA("VDMDBG.DLL");
    

    fileicht hilft es?

    MFG TaccoGo



  • Ich such hier auch schon die ganze Zeit nach LoadLibrary, womit es dynamisch gehen sollte, jedoch weiß ich nicht wie man es verwendet.

    Wäre nett, wenn jemand ein Tutorial zu DLLs kennt, das nicht so WinAPI-basierend ist, damit mein ich für Konsole ausgelegt ist 😕 🙂

    greets



  • Auf meiner immer noch nicht beendeten Suche stellt sich mir die nächste Frage:

    Ich hab jetzt irgendwo gelesen, dass man die .lib, die .dll und die .h Datei in das Verzeichnis des Projekts kopieren sollte. Aber wenn man nun z.B. eine DLL hat, die in Delphi geschrieben wurde und nun in C++ benutzt werden soll, so hat man doch auch keine Header-Datei, die man inkludieren kann 😕
    Also muss es doch auch eine Möglichkeit geben, eine DLL zu benutzen, ohne auch immer die dazu passende .h Datei vorliegend zu haben. Sonst könnte man ja auch nichts mit Windows-DLLs anfangen ...



  • header datei steht in dem fall auch nur für prototypen für die funktionen die in der dll vorhanden sind

    wenn du weisst welche funktionen die delphi dll hat kannst du dir ja nen eigenen header schreiben



  • wen du eine LIB,Header und DLL hast dann wird die Header in das Projekt includet und die LIB mitgelinkt.

    Wenn du nur eine DLL hat dann musst du mit LoadLibrary (suche danach in der MSDN) worken und die Funktionen selbst herausfinden.


Anmelden zum Antworten