libcurl等第三方库通用编译方法

libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传,
HTTP基本表单上传,代理,cookies,和用户认证。

下载libcurl库的链接
libcurl等第三方库通用编译方法_第1张图片

  1. 下载后拷贝至Ubuntu
    在这里插入图片描述
  2. 解压:tar -xvf curl-7.71.1.tar.bz2
    在这里插入图片描述

正常我们使用一个库,要去看看里面的README丶docs丶还有INSTALL (有的在docs里面)
libcurl等第三方库通用编译方法_第2张图片

  1. 阅读INSTALL
    查看Unix部分:
    libcurl等第三方库通用编译方法_第3张图片

./configure 的参数:

–prefix= :指定安装路径(默认安装在/usr/local)

–host= : 可以指定交叉编译工具(如果不需要交叉编译就不用指定)
–with-ssl:这个参数会使./configure在安装的时候依赖openssl,如果openssl安装在默认路径则(/usr/local/ssl)直接使用“–with-ssl”这个参数,如果安装在其他路径,则需要指定ssl的路径。如“–with-ssl=/xxx/xxx”

  1. 开始安装:./configure --prefix=$PWD/_install --with-ssl

ps:①“$PWD/_install ”的意思是,指定安装后生成的文件存放在当前路径下的“_install”新建文件夹里面
②“–with-ssl”因为我们后面可能用到https,所以需要openssl以用来支持libcurl对https的访问。
在这里插入图片描述

出现错误:无法检测Openssl,说明我们没有安装Openssl

在这里插入图片描述
安装openssl:sudo apt install libssl-dev libcurl4-openssl-dev libcurl4

dev后缀包通常包含必要的文件,如果你要从使用相关库的源代码编译软件。它们通常包含C头文件(foo.h)和无版本共享库(libfoo.so)。 非dev包只包含已编译二进制文件所需的版本化共享库(libfoo.so.1.1)

  1. 安装成功后进行编译
    make

  2. 生成文件
    sudo make install (如果默认安装,需要加上sudo)
    在这里插入图片描述

  3. 查看版本:curl --version
    由于安装的路径是在/home/cyh/httpHandler/curl-7.71.1/_install路径下,所以需要添加环境变量后才可以使用curl的功能。

在这里插入图片描述

安装完openssl出现的现象

安装完curl后在/home/cyh/httpHandler/curl-7.71.1/_install有着我们需要的库文件和头文件
在这里插入图片描述
理论上我们在使libcurl库的时候和使用相关头文件的时候,都是需要用-L-I分别指定库的位置和头文件的位置。

但是在安装Openssl的时候,系统在默认的位置/usr/include/x86_64-linux-gnu/curl/自动生成了curl对应的头文件,和在/usr/lib/x86_64-linux-gnu/生成了curl相关的库文件。
在这里插入图片描述 libcurl等第三方库通用编译方法_第4张图片
所以我们在编译过程需要用到“-lcurl”的时候,可以直接使用。因为我们目的就是使用相关的库和头文件而已。
而步骤1~6是实现安装curl的过程。

curl库也可以选择直接安装

直接安装的方法

你可能感兴趣的:(linux)