Ich möchte meine eigene Bibliothek für die Kompilierung in c hinzufügen, weiß aber nicht, wo Ubuntu sie speichert.
10.10
command-line
compiling
c
david25
quelle
quelle
Antworten:
Ausgehend von Ihren Kommentaren zu Ihrer Frage, denke ich, was Sie wirklich fragen, ist: "Wie installiere ich eine benutzerdefinierte Bibliothek, die ich geschrieben habe, und wo soll ich sie ablegen?"
Im Allgemeinen werden Dinge, die lokal für andere Benutzer auf dem Computer erstellt wurden, in den Baum / usr / local gestellt. Die Header-Datei sollte sich in / usr / local / include befinden. Die kompilierte Bibliothek sollte sich in / usr / local / lib befinden. Die .c-Datei ist nicht Teil der Bibliothek, sie ist Teil der Quelle und normalerweise nicht für den Endbenutzer installiert. Sie benötigen Root-Zugriff, um Dateien an einem dieser Speicherorte abzulegen.
Um die Bibliothek zu erstellen, müssen Sie zunächst entscheiden, ob Sie eine statische oder dynamische (gemeinsam genutzte) Bibliothek möchten. Weitere Informationen zum Erstellen einer gemeinsam genutzten Bibliothek finden Sie in Abschnitt 3.4, Erstellen einer gemeinsam genutzten Bibliothek unter http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html . (Sie haben auch Empfehlungen, wo man Sachen ablegt - die meisten Entwickler werden eine oder drei Meinungen haben :-))
quelle
Je nach Bibliothek speichert Ubuntu seine Bibliotheken hauptsächlich an drei Orten
Das Folgende ist vom Dateisystem-Hierarchie-Standard
/ lib
/ usr / lib
/ usr / local / lib enthält lokale Bibliotheken, dh eine für dieses System spezifische, aber ich kann in FHS keine Verweise auf / usr / local / lib finden, sie enthalten nur Erklärungen für / usr / local.
quelle
Ubuntu folgt dem Filesystem Hierarchy Standard ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ), reguläre Anwendungsbibliotheken sollten unter / usr / lib gespeichert werden.
Beachten Sie, dass das Entwickeln / Verwalten von Bibliotheken kein triviales Thema ist. Lesen Sie die ausführlichere Dokumentation. Hier finden Sie ein nützliches Tutorial: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
quelle
Sie sollten dem Compiler mitteilen, wo er Ihre Bibliothek finden kann. Angenommen, der Pfad zu Ihrer Bibliothek lautet "/path/to/lib/libfoo.a". Sie könnten Ihr Programm "hello.c" folgendermaßen kompilieren und verknüpfen:
Dies ist nicht Ubuntu-spezifisch, tatsächlich unterstützen alle mir bekannten C-Compiler diese Flags.
quelle
In Ubuntu findet man sie in
/usr/include
.quelle
/usr/include
. Die eigentlichen Binärdateien für eine Bibliothek werden dort nicht gespeichert. Header können als Teil einer Bibliothek betrachtet werden, müssen jedoch separat installiert werden und werden zum Kompilieren von Programmen verwendet, die eine Bibliothek verwenden. Sobald ein Programm kompiliert wurde, das eine Bibliothek verwendet, benötigt oder verwendet es die Header-Dateien nicht mehr.