[VS7] Dll in mehreren Projekten benutzen



  • Hallo.

    Ich brauche meine selbstgeschriebene (und sich ständig ändernde) Dll für zwei unterschiedliche Projekte.
    Die Dll und die lib sollen jetzt jeweils in ihrer aktuellesten Form in den beiden Projektordnern erscheinen.
    Wie macht man sowas am geschicktesten? Ich habe schon versucht bei der Dateiausgabe beide Pfade einzutragen, aber das kapiert der Linker nicht.

    Danke.



  • die compiler verstehen so paar besondere schalter ^^

    um ne dll dynamisch einzubinden braucht man in seltenen faellen gar nix, man muss nur die signaturen der in der dll exportierten funktionen kennen.
    Oftmals kommt ne .h dazu um typedefs / strukturen nicht nochmal neu definieren zu muessen.

    unter MS kann man ne dll pseudo statisch linken, sprich der compiler beim erstellen der dll generiert ne lib, welche man zum hauptprogramm zu linkt, die lib macht nix anderes las die dll gleich zu laden und die funktionen durchzureichen.
    man braucht dazu halt dann die .lib und die .h

    der schalter um den suchpfad fuer .h (include dateien) um meherere verzeichnisse zu erweitern ist -I. In komfortablen IDE's findet man nen eintrag dafuer meist unter "zusaetzliche Includeverzeichnisse"

    Der schalter um den suchpfad fuer die libs zu erweitern ist -L. Meist in den IDE's als "zusaaetzliches Bibliothek Verzeichniss" Eintrag zu finden.

    um eine lib dann wirklich zu linken, gibts den -l schalter. In den IDE's nennt der entsprechende Eintrag sich meist "Zusatzliche Bibliotheken"

    also dein Include und Lib verzeichnispfad kannst schon auf irgend nen Projektverzeichniss umsetzen, wo deine dll inklusive der lib generiert wird ...

    Ciao ...



  • Danke für Deine Antwort.

    Hab' es so gemacht wie Du gesagt hast, aber das Problem ist dann noch dass das zweite Programm die dll nicht findet weil die ja woanderst liegt.
    Hab es jetzt so gelöst, dass nach dem Kompilieren der dll eine batch Datei ausgeführt wird die die dll dann einfach zum anderen Programm hin kopiert.


Anmelden zum Antworten