【发布时间】:2020-03-22 16:16:16
【问题描述】:
我正在尝试使用静态链接到 openssl 来构建 libcurl。因此,为了实现这一点,我使用了以下配置:
OpenSSL:
LDFLAGS="-static”
LIBS="-ldl”
卷曲:
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 符号显示为未定义。例如,
U SSL_connect
U SSL_ctrl
这是否意味着来自 libssl.a 和 libcrypto.a 的符号实际上并未集成到 libcurl 中?
如果是,如何将它们实际集成到 libcurl.a 中?
感谢任何帮助我理解这一点。
【问题讨论】:
标签: openssl libcurl static-linking nm