Linux下编译并使用 curl 静态库

windows下面编译并使用 curl 静态库我就不说了, 很简单。。。。。。

 

linux下面 编译后生成了 libcurl.a 文件,

 

但是在程序中静态链接  这个 libcurl.a 文件, 会发生很多的链接错误, 如果是动态链接 libcurl.a 文件则不会发生什么问题。

 

 

/usr/lib/libcurl.a(ssluse.o): In function `Curl_ossl_init':
(.text+0xcd1): undefined reference to `SSL_library_init'

 

 

/usr/lib/libcurl.a(ssluse.o): In function `Curl_ossl_connect_common':
(.text+0x1ba9): undefined reference to `SSL_get1_session'

 

 

上面随便挑几个错误。。。

 

 

后来经过一番折腾, 突然恍悟, 只需要添加下面的链接, 问题即可解决啊

 

-lcrypto -lidn -lssl /usr/lib/libcurl.a

这样编译生成的 可执行程序里面用 命令

 

 ldd  文件名    执行后, 依赖库里面已经没有  libcurl.so.4 的依赖项了。。。。 

 

 

 

如果你用上面的选项还是出现链接错误,比如下面这样的东东

 

ldap.c:(.text+0x91): undefined reference to `ldap_url_parse'

 

请你编译 curl库的时候  用下面的指令生成 makefile文件

 

./configure --disable-ldap --disable-ldaps   ,

 

编译好后在链接即可。

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

langeldep

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值