Ich habe einige boost abhängigen Code I als dynamische Bibliothek kompilieren wollen:entfernen Bibliothek Abhängigkeit
g++ -Wall -fPIC -o myclass.o -c myclass.cpp
g++ -shared -Wl,-soname,myclass.so.1 -o lib/myclass.so.1 myclass.o -lc
jedoch nach dem Kompilieren ich bemerken, dass es noch einen Schub Abhängigkeit ist (ich bin mit ldd
Kontrolle)
ldd lib/myclass.so.1
linux-vdso.so.1 (0x00007fff741fd000)
libboost_system.so.1.60.0 => /usr/lib/libboost_system.so.1.60.0 (0x00007f7945649000)
libboost_serialization.so.1.60.0 => /usr/lib/libboost_serialization.so.1.60.0 (0x00007f794540b000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f7945089000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f7944d83000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f79449e2000)
/usr/lib64/ld-linux-x86-64.so.2 (0x00005590726ae000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f79447cc000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f79445c3000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f79443a6000)
Gibt es eine Möglichkeit, Boost dynamische Abhängigkeit von meiner gemeinsam genutzten Bibliothek zu entfernen (pack die aktuelle Boost-Version der Objekte, die ich in der .so) aufrufen?
Haben Sie 'ldd -v' getestet, um zu überprüfen, ob die Bibliotheken Links zu Boost verlinken? – jotik