Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 基于libcurl构建共享库_C++_Linux_Curl_Shared Libraries - Fatal编程技术网

C++ 基于libcurl构建共享库

C++ 基于libcurl构建共享库,c++,linux,curl,shared-libraries,C++,Linux,Curl,Shared Libraries,你好,我是编译共享库的新手 我的共享库依赖于curl、ssl和crypto。 我编译了libcurl,输出库是: libcurl.so.4-->libcurl.so.4.3.0 libcurl.so.4.3.0 我使用以下命令编译了我的共享库: g++-m32-共享\ -o libtestshared.so.1\ -fPIC../build/*.o\ -lpthread\ ../openssl/lib/libssl.so.1.0.0\ ../openssl/lib/libcrypto.so.1.

你好,我是编译共享库的新手

我的共享库依赖于curl、ssl和crypto。 我编译了libcurl,输出库是: libcurl.so.4-->libcurl.so.4.3.0 libcurl.so.4.3.0

我使用以下命令编译了我的共享库:

g++-m32-共享\
-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引用符号链接?

/home/usr1/openssl/lib/
中是否有
libssl
libcrypto
的符号链接?是的,我有,但我需要的不是将我的库链接到libcurl符号链接链接有什么问题?我的意思是你的使用案例共享库软链接表示版本号依赖关系。显然,你的链接器认为“4”版本足够强大-你不需要更详细的版本号?@Miline我的用例是只链接这个版本4.3.0,因为任何人都可以更改符号链接引用。May将其链接到最新版本。