Angenommen, ich habe drei C statischen Bibliotheken sagen libColor.a die davon abhängt, * libRGB. * A, die wiederum hängt von libPixel.a. Die Bibliothek libColor.a wird gesagt, auf Bibliothek libRGB.a abzuhängen, da es einige Referenzen in libColor.a sind auf einige Symbole definiert in libRGB.a. Wie kombiniere ich alle oben genannten Bibliotheken zu einem neuen libNewColor.a, die unabhängig ist?Kombination statischen Bibliotheken
Unabhängig bedeutet, dass in der neuen Bibliothek alle Symbole definiert sein müssen. Also während der Verknüpfung muss ich nur -lNewColor geben. Die Größe der neuen Bibliothek sollte minimal sein, dh es keine Symbole in libRGB.a enthalten soll, die nicht von verwendet wird libColor.a usw. ich mein Glück mit verschiedenen Optionen versucht, in ar Befehl (zum erstellen und aktualisieren Sie statische Bibliotheken/Archive).
Sie können alternativ unter http aussehen: // Stackoverflow. com/questions/8170450/kombinieren-static-libraries/8170851 # 8170851 und libt verwenden ool – Bruce
Beachten Sie, dass der Minimierungsschritt wirklich nicht notwendig ist. Bei statischen Bibliotheken greift der Linker im Gegensatz zu gemeinsam genutzten Bibliotheken, die alles enthalten, nur die benötigten Objektdateien. Für jeden Ansatz gibt es Gründe und Vorteile. sie sind einfach anders. Und Sie brauchen sich keine Sorgen zu machen, wenn Sie mit statischen Bibliotheken arbeiten. –