您好,我是编译共享库的新手。
我的共享库依赖于curl,ssl和crypto。 我编译了libcurl,输出库是: libcurl.so.4 - > libcurl.so.4.3.0 libcurl.so.4.3.0
我使用以下命令编译了我的共享库:
g++ -m32 -shared \
-o libtestshared.so.1 \
-fPIC ../build/*.o \
-lpthread \
../openssl/lib/libssl.so.1.0.0 \
../openssl/lib/libcrypto.so.1.0.0 \
../curl/lib/libcurl.so.4.3.0
但是当我弄清楚我的图书馆所依赖的库时,我发现:
ldd libtestshared.so.1
linux-gate.so.1 => (0x00e2a000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00aec000)
libssl.so.1.0.0 => /home/usr1/openssl/lib/libssl.so.1.0.0 (0x0034c000)
libcrypto.so.1.0.0 => /home/usr1/openssl/lib/libcrypto.so.1.0.0 (0x003a8000)
libcurl.so.4 => /home/usr1/curl/lib/libcurl.so.4 (0x001cf000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00229000)
libm.so.6 => /lib/libm.so.6 (0x006be000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00eaf000)
libc.so.6 => /lib/libc.so.6 (0x006e8000)
/lib/ld-linux.so.2 (0x0055e000)
libdl.so.2 => /lib/libdl.so.2 (0x001ba000)
librt.so.1 => /lib/librt.so.1 (0x00314000)
为什么只有libcurl引用符号链接?