kostenloser Webspace werbefrei: lima-city


C++ Lib-Datei einbinden

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    s******i

    Hallo,
    ich arbeite momentan mit der Visual Studio 2010 Express Edition und möchte in einer Projektmappe eine lib-Datei für meine kleine Datenbank und eine exe-Datei für das Hauptprogramm erstellen. Wenn ich jedoch in meinem Hauptptogramm den Verweis auf die lib-Datei hinzufüge(Rechtsklick mit der Maus auf das Projekt, dann auf Verweise klicken...), kann ich nicht auf den Code der Lib-Datei zugreifen.
    Muss ich noch etwas konfigurieren?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Und du willst wirklich eine .lib- Datei in dein Projekt einbinden und keine .h- Datei (Bibliothek)? Nach deiner Beschreibung ist das nicht ganz durchsichtig geworden. Außerdem: Hast du die .lib- Datei selbst erstellt oder von irgendwo heruntergeladen? Das wäre hilfreich zu wissen.

    Auf jeden Fall solltest du mal nach einer .dll- Datei suchen, das ist möglicherweise die, die du öffnen möchtest!
  4. Autor dieses Themas

    s******i

    Die Lib-Datei habe ich selber erstellt. Natürlich wäre ich auch damit zufrieden eine selbstertstellte .dll-Datei einzubinden. Aber wie geht das mit Visual Studio ohne so vielen Code schreiben zu müssen?
  5. Hallo spuglisi,

    es gibt zwei Arten von Bibliotheken, die ein .lib erstellen:
    1. sogenannte statisch gelinkte bibliotheken, welche aus Header-dateien (.h) und Libraray Dateien (.lib) bestehen (und falls du sie selbst geschrieben hast auch noch aus .cpp's oder .c's)
    2.sogenannte dynamisch gelinkte Bibliotheken, ebenfalls mit Headern (.h) und Libraryfiles (.lib), wie statische, zusätzlich aber auch noch die DynamicLinkeLibraryDatei (.dll) (und wie oben evtl. cpp's oder .c's)

    ich weiß nicht, was in deinem Fall zutrifft, funktioniert aber beides im Wesentlichen gleich.
    Folgendes musst du für beide Arten von Bibliotheken machen, um sie in dein Projekt einzufügen:

    Zum einen musst du in deinem Hauptprojekt, an den entsprechenden Stellen die Header der Biblothek includieren, also ein #include DerHeaderName.h reinschreiben.
    Dazu musst du VisualStudio noch den Pfad mitteilen, in dem es die Header findet. Dazu klickst du im Projektmappenexploerer mit der rechten Maustaste auf das Projekt und klickst auf Eigenschaften, um in das Eigenschafts-Menü zu gelangen. Im Linken Baum-Verzeichnis des Menüs öffnest du Konfigurationseigenschaften ->C/C++ -> Allgemein. Rechts findest du eine Zeile Zusätzliche Includeverzeichnisse. Dort klickst du im Dropdown-Menü auf Bearbeiten und im Fenster, das sich öffnet gibts du den entsprechenden Pfad ein, in dem sich die Header befinden (mit dem "Ordner-Button" eine neue zeile einfügen und mit dem "...-Button" einfach im Explorer navigieren.
    Zudem musst du VisualStudio noch die entsprechende .lib datei mitteilen. Dazu gehst du im (wieder im Eigenschafts-Menü) in die Eigenschaftsseite Konfigurationseigenschaften -> Linker -> Allgemein. Dort findest du rechts eine Zeile Zusätzliche Bibliotheksverzeichnisse. Wie schon bei den Headern gibst du hier den Pfad an, in welchem die "*.lib"-Datei liegt.
    Dann musst du noch einen weitern Eintrag machen, nämlich unter Konfigurationseigenschaften -> Linker -> Eingabe. Unter Zusätliche Abhängigkeiten fügst du einen neuen Eintrag mit dem Namen der .lib-Datei hinzu (einfach reinklicken, Zeilenumbruch und tippen "DerBibliotheksname.lib".
    Damit hast du alles richtig eingestellt.

    Falls es sich um eine dll handelt, muss du die dll-Datei noch kopieren, entweder in den system32-Ordner von Windows, oder in den Ordner, in dem du die Exe ausführst, die die dll verwendet (ich empfehle letzteres, sonst müllst du deine windows-installation zu).

    Ich hoffe, das hilft dir!

    *edit: sry, ich habe begonnen, zu tippen, bevor du die Antwort geschrieben hast, dass du eine statische Bibliothek meinst.


    Beitrag zuletzt geändert: 28.10.2010 15:37:35 von nomis
  6. Autor dieses Themas

    s******i

    Also wenn ich das richtig verstanden habe, dann braucht man neben der .lib-Datei auch noch die entsprechende Header-Datei. Gibt es einen Weg nur die Lib-Datei (also ohne den Quelltext der Header-Datei) in das Projekt einzubinden?

    Edit: Und ja, die Lib hab ich erstellt...

    Beitrag zuletzt geändert: 30.10.2010 23:10:42 von spuglisi
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!