• 源码编译libcurl库


    操作系统为 Ubuntu 18.04.1 LTS

    gcc 版本为 gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

    libcurl 版本 curl-7.71.1.tar.gz

    openssl 版本 openssl1.1.1d

    1.首先下载 libcurl 库的源代码包  curl-7.71.1.tar.gz,解压;

    2.下载 openssl1.1.1d 源码包,并编译 openssl (编译过程略),得到 libssl.a 以及 libcrypto.a 两个共享库;

    3.回到 libcurl 源码包目录下, 执行./configure 生成 Makefile

      3.1 Makefile中的 CPPFLAGS 需要添加 2 个选项

        (1)-I/home/xxx/xxx/openssl-1.1.1d/include代表 openssl 对外提供的头文件路径(第二个字符为  i  的大写

        (2)-fPIC 生成位置无关代码;

      3.2 链接选项 LDFLAGS 需要添加链接的共享库搜索目录,链接库选项 -lssl -lcrypto -ldl -pthread 会自动加上,所以这里不用加

        -L/home/xxx/xxx/openssl-1.1.1d/

      3.3 添加 openssl 安全套接字协议库 libssl.a 和加密算法库 libcrypto.a 的路径以增加对 HTTPS、FTPS 等协议的支持

        --with-ssl=/home/xxx/xxx/openssl-1.1.1d/

    然后执行命令:

    ./configure CPPFLAGS="-I/home/xxx/xxx/openssl-1.1.1d/include/openssl -fPIC" LDFLAGS="-L/home/xxx/xxx/openssl-1.1.1d/" --with-ssl=/home/xxx/xxx/openssl-1.1.1d/

    4.执行命令 make 编译,编译完成后可在 lib/.libs/ 下找到 libcurl.so.4.6.0 (soname为 libcurl.so.4)库文件,头文件则在源码目录下/include/curl目录中可以找到。

  • 相关阅读:
    二分查找
    bracketed-paste-magic:zle:41: not enough arguments for -U
    逗号表达式返回值
    requestAnimationFrame实现一帧的函数节流
    phaser常用API总结
    table表头固定问题
    接口防刷的方法
    雪碧图background-position的rem用法
    sphinx 增量索引与主索引使用测试
    msysgit ls 中文显示
  • 原文地址:https://www.cnblogs.com/huowenjie/p/13489844.html
Copyright © 2020-2023  润新知