1.编译安装 openssl
从官网下载最新版本:https://www.openssl.org/source/
在这里插入图片描述
首先解压下载好的安装包 openssl-1.1.1m.tar.gz

tar xzvf openssl-1.1.1m.tar.gz

然后进入目标目录进行编译

cd openssl-1.1.1m

./config

make

sudo make install

此时,openssl已安装完毕,可通过 make test 测试。

  • 查看openssl版本:openssl version 出现以下错误:
    openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

解决办法:

ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

  1. 编译安装 libcurl
    curl库下载地址:https://curl.haxx.se/download.html
    在这里插入图片描述

同样下载解压安装包后(curl-7.81.0.tar.gz),进入工程目录进行编译

tar xzvf curl-7.81.0.tar.gz
cd curl-7.81.0
./buidconf
./configure --prefix=/usr/local/curl-7.81.0/
make
sudo make install

即完成安装。

3.编写 https 代码
代码参考:Linux C/C++实现https post/get请求

  • 如出现以下报错:
    configure error: select TLS backend(s) or disable TLS with --without-ssl

解决办法:
执行configure脚本时,使用以下指令:

./configure --prefix=/usr/local/curl-7.81.0/ --with-wolfssl

然后配置环境:

sudo vi /etc/bash.bashrc

在最后添加:

LIBRARY_PATH=/usr/local/curl-7.81.0/lib
export LIBRARY_PATH

保存退出,并更新环境:

source bash.bashrc

此时可使用curl指令:curl http://www.baidu.com

  • 在使用libcurl的程序编译过程中,如出现以下报错:
    /usr/bin/ld: 找不到 -lcurl

解决办法:

locate libcurl.so

显示结果,在 /usr/lib/x86_64-linux-gnu 目录下没有libcurl.so,即需要创建:

sudo ln -sf /usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0 /usr/lib/x86_64-linux-gnu/libcurl.so

这样编译时即可找到 -lcurl

  • 在使用libcurl的程序编译过程中,如出现以下报错:
    fatal error: curl/curl.h: 没有那个文件或目录

解决办法:

sudo cp -r /usr/local/curl-7.81.0/include/curl /usr/include

Logo

更多推荐