Bir statik kitaplıktan paylaşılan bir nesne dosyası nasıl oluşturulur? Cygwin kullanıyorum.Statik kütüphaneden paylaşılan bir nesne dosyası nasıl oluşturulur
Aşağıdaki sözdizimi doğru mu?
gcc -shared -o libexample.so libexample.a
Bir statik kitaplıktan paylaşılan bir nesne dosyası nasıl oluşturulur? Cygwin kullanıyorum.Statik kütüphaneden paylaşılan bir nesne dosyası nasıl oluşturulur
Aşağıdaki sözdizimi doğru mu?
gcc -shared -o libexample.so libexample.a
O işe yaramayabilir ama her zaman deneyebilirsiniz:
ar -x libexample.a
gcc -shared *.o -o libexample.so
o -fpic şikayet ederse, o zaman muhtemelen çalışmayacaktır. sıklıkla .bu kombine nesneleri isteyeceksiniz
gcc -shared -o libexample.so -Wl,--whole-archive libexample.a
dikkat PIC, sık sık statik kitaplığı için istemiyoruz şey olarak derlenmiş edebilirsiniz.
Ayrıca paylaşılan bir nesneden bir statik kitaplık oluşturmak için başka bir yol gitmek de mümkün mü? bağımlı paylaşılan nesnelerin toplanması? –
Evet - en azından Unix, statik bir kütüphane, bir dizin içeren nesne dosyalarının bir arsividir (bu nedenle adı .a). – AProgrammer