zoukankan      html  css  js  c++  java
  • 源码编译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目录中可以找到。

  • 相关阅读:
    OGNL和Struts2标签
    Struts2中使用Servlet API步骤
    Struts2配置详解
    Strust的基础情况
    分页套用
    删除(注意,删除后,后面顶上去,所以id会一直变,所以我们用class来定义,因为id是唯一的)
    搭建SpringMVC+Mybatis框架并实现数据库的操作
    使用映射接口实现数据库的操作
    django 路由系统
    http协议
  • 原文地址:https://www.cnblogs.com/huowenjie/p/13489844.html
Copyright © 2011-2022 走看看