我正在尝试通过静态链接到openssl来构建libcurl。为此,我使用了以下配置:
OpenSSL:
LDflaGS="-static”
LIBS="-ldl”
cURL:
LDflaGS="-static”
CPPflaGS="-I$(CURDIR)/$(3RDPARTY_DIR)$(OPENSSL)/include
LDflaGS="-L$(CURDIR)/$(3RDPARTY_DIR)$(OPENSSL)"
./configure --disable-shared --without-zlib --without-libidn --without-librtmp --disable-ldap —-with-ssl=<path where my openssl is installed>
由此,我将生成libcurl.a并将其链接到我的代码,根据我的需要,该代码可以成功处理HTTPS连接。
但是出于学习目的,我想知道SSL符号实际上是否集成到libcurl中。
因此,我尝试使用nm
命令:
nm -A libcurl.a | grep “SSL_"
但是它将所有SSL符号显示为Undefined。例如,
U SSL_connect
U SSL_ctrl
那么这是否意味着libssl.a和libcrypto.a中的符号实际上并未集成到libcurl中?
如果是,该怎么做才能将它们实际集成到libcurl.a中?
感谢您帮助我理解这一点。