Aus http://www.adp-gmbh.ch/cpp/gcc/create_lib.html:
Hinweis: Die Bibliothek muss mit den drei Buchstaben beginnen lib
und haben das Suffix .a
.
Ist dies eine Betriebssystemkonvention oder a gcc
/ar
Marotte? Xcode scheint in der Lage zu sein, Bibliotheken ohne das Präfix zu erstellen. Was macht es anders?
Sie können einer Bibliothek einen beliebigen Namen geben, aber wenn Sie möchten, gcc’s -l
um das richtige zu finden, müssen Sie es so benennen, wie es der Link beschreibt. Zum Beispiel:
gcc -o myapp myapp.c -lm
Wird kompiliert myapp.c
verknüpfen Sie das resultierende Objekt mit libm.a
und geben Sie eine ausführbare Datei namens aus myapp
. Heutzutage gibt es möglicherweise einen komplizierteren Suchpfad mit dynamischen Bibliotheksnamen usw., aber Sie sollten die Grundidee von diesem Beispiel verstehen.
Von dem gcc manpage:
-l
Bibliothek …
… umgibt Bibliothek mit lib
Und .a
und durchsucht mehrere Verzeichnisse.
Es war immer mein Verständnis, dass dies eine Namenskonvention ist nicht durch die Compiler-Toolchain erzwungen.
– Rafe Kettler
3. Juni 2011 um 18:35 Uhr
wahrscheinlich mit dem vollständigen Pfad zum Archiv. Die lib/.a-Konvektion wird mit verwendet
-l
Flagge, dh.-lXXX
schaut nachlibXXX.a
oderlibXXX.so
.– eduffy
3. Juni 2011 um 18:35 Uhr