dll kompilieren klappt nicht



  • Hallo!
    Ich habe einen arbeitsbereich(online) und diesem ein mfc-anwendungs-assistst(dll) untergeordnet. jetz include ich in meiner ViewDatei den dll-header. Das problem ist nur wenn ich das jetz kompiliere muss ich eine anwendung auswählen, was ich aber nicht kann weil die anwendung ja noch nicht gelinkt is irgendwie komisch. was mach ich denn falsch?

    MFG

    Hansi



  • Hi,

    Wenn du die DLL kompiliert hast und (normalerweise mit STRG + F5) aufruftst, wirst du aufgefordert eine Anwendung für die dll anzugeben (da man eine DLL ja eignedlich nicht aufrufen kann).
    Wähle mal dein MFC Projekt als aktives Projekt (Rechtsklick) und starte das.

    Grüße Rapha



  • Und guck mal ins Menü, vielleicht vereinfacht dir das die Sache:
    Projekt -> Abhängigkeiten...

    🙂



  • Ok hat geklappt mit den abhängigkeiten. danke! Aber jetz steh ich vor nem neuen
    problem: ich binde die header der dll mit

    #include "dll.h"
    

    in die View ein aber es kommt ein fatal error, dass er die include-datei nicht öffnen kann. Aber ich hab das prpjekt dem anderen untergeordnet also eigentlcih müsste ers finden, oder?

    thx

    Hansi



  • Kopier mal die Headerdatei in das Projektverzeichnis deiner ausführbaren Datei (exe).
    Oder gib den Link relativ an.
    z.B.

    #include "../Dll/dll.h";
    

    Grüße Rapha



  • thx.Also ich hab die dll.h ma in den debug ordner getan hat aber nicks gebracht. Das mit dem link relativ is das ne pfadangabe oder wie?

    thx

    MFG

    Hansi



  • Hansi schrieb:

    Also ich hab die dll.h ma in den debug ordner getan hat aber nicks gebracht.

    Nenene, net in den Debugordner, sondern in den Projektordner (da, wo auch die .cpp und .h Dateien von deinem exe Projekt sind). Oder!!! du verwendest relative Pfade

    Hansi schrieb:

    Das mit dem link relativ is das ne pfadangabe oder wie?

    😃 😃 Scho 😉

    ".." bedeutet: ein Verzeichnis tiefer.
    Ich mach mal ein Beispiel:
    Wenn du also hast:
    Arbeitsbereich: Dll-Projekt
    darin
    1. Projekt: Typ: MFC-Dialogbasierend Name: exe
    Verzeichnis
    C:\Projekte\Dll-Projekt\exe

    2. Projekt: Typ: dll Name: dll
    Verzeichnis:
    C:\Projekte\Dll-Projekt\dll
    Du hast dann folgende Ver

    Wenn du jetzt in deinem 1. Projekt (die ausführbare Datei) schreibst:

    include "../dll/dll.h";
    

    bedeutet das:
    - gehe von C:\Projekte\Dll-Projekt\exe (Darin ist die deine Projekt-Datei [.dsp]) ein Verzeichnis tiefer, also C:\Projekte\Dll-Projekt\
    - gehe dann in das Verzeichnis dll
    also: C:\Projekte\Dll-Projekt\dll
    - und includiere die dll.h
    also C:\Projekte\Dll-Projekt\dll\dll.h

    Verstanden? 😃

    Grüße Rapha



  • Hi. Ich komm bisschen spät, weil ich schon 30 std versurft hatte un dann durfte ich net mehr online. Also ich hab das projekt unter den eigenen dateien mit dem name onlinedll. das projekt is allerdings SDI und nich dialogbasierend, aber das dürfte doch egal sein oder? So in diesem ordner sind die ganzen headers cpp und die hauptprojektdatei. Im unterordner dll is dann die header un die cpp datei von der dll. aber irgendwie bekomm ichs net hin.
    Was muss ich denn noch anders machen.

    thx

    Hansi


Anmelden zum Antworten