PL1994 Geschrieben 22. September 2014 Geschrieben 22. September 2014 Hallo, um ein Projekt übersichtlicher zu strukturieren, wollte ich einige Klassen in eine (statische) Bibliothek packen. Die Bibliothek habe ich auch erstellt. Ich benutze Visual Studio 2013 Express. Wenn ich das richtig verstanden habe, sollte es doch reichen, bei "Konfigurationseigenschaften -> Linker -> Allgemein" das zusätzliche Bibliotheksverzeichnis anzugeben, das die .lib-Datei enthält und bei "Eingabe" unter "Zusätzliche Abhängigkeiten" den Dateinamen einzutragen. Aber wie kann ich jetzt eine Klasse aus der Bibliothek verwenden (also z.B. mit "include")? Oder brauche ich dafür eine dynamische Bibliothek? Gruß PL1994 Zitieren
Klotzkopp Geschrieben 22. September 2014 Geschrieben 22. September 2014 Du musst nur den Header mittels Include-Direktive einbinden. Zitieren
PL1994 Geschrieben 22. September 2014 Autor Geschrieben 22. September 2014 Das geht nicht ("No such file or directory"). Der Header kann doch mit in der Bibliothek sein, oder? Oder muss der im aktuellen Projekt liegen? Zitieren
Klotzkopp Geschrieben 22. September 2014 Geschrieben 22. September 2014 Du musst in den Projekteinstellungen das Verzeichnis, in dem der Bibliotheksheader liegt, zu den Include-Verzeichnissen hinzufügen. Bitte nicht den Header in deinen Projektordner kopieren! Zitieren
PL1994 Geschrieben 22. September 2014 Autor Geschrieben 22. September 2014 Das Verzeichnis ist als Include-Verzeichnis eingestellt. Darin liegt aber nur die .lib-Datei. Muss da noch ein separater Header sein? Zitieren
Klotzkopp Geschrieben 22. September 2014 Geschrieben 22. September 2014 Zu einer statischen Bibliothek gehört (mindestens) ein Header, der die Deklaration der öffentlichen Schnittstelle enthält. Zitieren
PL1994 Geschrieben 22. September 2014 Autor Geschrieben 22. September 2014 Habe "gegoogelt", aber ich finde dazu einfach kein Beispiel. Kannst du mir vielleicht einen Link für ein Tutorial oder für eine Erklärung posten? Zitieren
Klotzkopp Geschrieben 22. September 2014 Geschrieben 22. September 2014 Was gibt es da zu googlen? Dieselben Header, die du brauchen würdest, um die Klassen direkt zu verwenden, brauchst du auch, wenn die Klassen in einer statischen Bibliothek stecken. Zitieren
PL1994 Geschrieben 22. September 2014 Autor Geschrieben 22. September 2014 Mal angenommen, ich habe eine Bibliothek mit den Klassen K1 und K2, dann muss im Include-Verzeichnis liegen: - Bibliothek.lib - K1.h - K2.h Richtig? Zitieren
Guybrush Threepwood Geschrieben 22. September 2014 Geschrieben 22. September 2014 Wie du deine Header aufteilst ist egal, du musst nur mindestens eine haben in der die Klassen deklariert sind Zitieren
PL1994 Geschrieben 24. September 2014 Autor Geschrieben 24. September 2014 Nach einigem Umstrukturieren habe ich jetzt alle Klassendefinitionen in einer Headerdatei verpackt. Funktioniert. Danke euch! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.