Dinamik bir paylaşılan kitaplık olarak kullanmak istediğim destek bağımlılıkları ile bazı kodları derlemeye çalışıyorum ancak herhangi bir destek bağımlılığı olmadan (bir gereksinim olarak yükseltme yüklemesi yok). Ne kadar ilgili giderim?Paylaşılan kitaplığa paketi yükleme
Ben ile benim kod derleme:
linux-vdso.so.1 (0x00007fffda9df000)
libboost_system.so.1.60.0 => /usr/lib/libboost_system.so.1.60.0 (0x00007f934e776000)
libboost_serialization.so.1.60.0 => /usr/lib/libboost_serialization.so.1.60.0 (0x00007f934e538000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f934e1b6000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f934deb0000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f934db0f000)
/usr/lib64/ld-linux-x86-64.so.2 (0x000055802a452000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f934d8f9000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f934d6f0000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f934d4d3000)
:
ldd lib/myclass.so.1
olarak,
ancakg++ -Wall -fPIC -o myclass.o -c myclass.cpp
g++ -shared -Wl,-soname,myclass.so.1 -o lib/myclass.so.1 myclass.o -lc
inşa kütüphane boost bağımlılıkları birkaç gösterir çıktı üretir Tüm destek bağımlılıklarını .so dosyasına paketlemek için g++
çağrısı üzerinde ne değiştirmeliyim?
Kaynağından gelen artışı derledim ve aynı dizinde statik kitaplıklara sahip oldum, bu yüzden sadece makefile değişiyor. – joaocandre