Ich habe ein Problem beim Erstellen einer gemeinsam genutzten Bibliothek mit GCC/Linux. Derzeit wird diese gemeinsam genutzte Bibliothek mit der GCC/libtool Option "-shared" erstellt und alles ist in Ordnung.Eine statische Bibliothek während des Builds mit einer gemeinsamen verknüpfen?
Jetzt gibt es zwei zusätzliche, statische Bibliotheken (.a-Dateien), die zu dieser freigegebenen hinzugefügt werden müssen, da sie einige Funktionen bereitstellen, die von der gemeinsamen benötigt werden. Das Hinzufügen dieser statischen Bibliotheken mit der Option "-l" hilft nicht, danach sind sie nicht Teil der .so-Datei.
Also, wie kann ich zwingen, GCC/libtool wirklich den Code dieser statischen Bibliotheken zur gemeinsamen Bibliothek hinzufügen?
Danke!
Für ausführbare Dateien Erstellen Sie den vollständigen Pfad der statischen Bibliothek zu den Baumöglichkeiten von gcc nur hinzufügen können, zB: 'gcc -Wall -g live_mystuff.c -o my_app /usr/local/src/ffmpeg/libswscale/libswscale.a -lpthread -lbz2 -lm -lz -lfaac -lmp3lame -lx264 -lfaad ...' Es könnte auch zum Erstellen von gemeinsamen Bibliotheken funktionieren. Versuch es. – fritzone
Woher wissen Sie, dass sie "nicht Teil der .so Datei" sind? –
@fritzone: für ausführbare Dateien, die ohne Probleme funktioniert, muss ich es für eine gemeinsame Bibliothek tun – Elmi