Statische Bibliothek in DLL ...



  • Ich verwende in einem DLL-Projekt eine statische LIB. In einem EXE-Projekt will ich die DLL verwenden, muss ich dann noch zusätzlich die LIB für den Linker bekanntmachen? Verwende Visual Studio 2008 Professional.



  • nein brauchst du nicht.

    allerdings solltest du bedenken, dass die DLL keine Funktionen der statischen Lib exportiert.
    Das bedeutet, nur die DLL hat Zugriff auf die Lib, die Anwendung nicht.

    Das kannst du zwar lösen, indem die Anwendung auch mit der lib gelinkt wird,
    das kann aber zu Konflikten führen.

    Ein Beispiel sind hier globale statische Variablen in der Lib, die existieren dann jeweils für die Anwendung UND die DLL, was zu unerwarteten Fehlern führen kann, wenn man es nicht weiß.

    Deshalb sollte deine DLL im Ernstfall jede Funktionalität der lib, die du auch in der Anwendung brauchst irgendwie wrappen, damit die Anwendung nicht mehr von der Lib abhängt, sondern nur noch von deiner dll.



  • Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ (auch C++0x) 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.


Anmelden zum Antworten