因为libcurl如果想支持https,需要openssl,所以我们先交叉编译openssl。可以参考之前的文章,《ubuntu 20.04 交叉编译openssl-1.0.2p 适配aarch64平台(飞腾处理器)》。
1、从github下载libcurl的源代码文件,我们可以选择最新的版本下载
https://github.com/curl/curl
2、选择发布版本列表
image.png
3、选择源代码发布版本,并下载,这里下载tar.gz 压缩方式
image.png
4、下载好后,上传linux系统,找到对应的压缩包解压
tar -zxvf curl-7.87.0.tar.gz
5、接下来命令行运行configure,因为需要配置环境变量,我们也可以把命令写入shell脚本中。
#! /bin/sh
export AR=aarch64-linux-gnu-ar
export AS=aarch64-linux-gnu-as
export LD=aarch64-linux-gnu-ld
export RANLIB=aarch64-linux-gnu-ranlib
export CC=aarch64-linux-gnu-gcc
export NM=aarch64-linux-gnu-nm
./configure --target=aarch64-linux-gnu --host=aarch64-linux-gnu --build=x86_64-linux-gnu --with-pic --enable-shared --disable-ldap --disable-ldaps --without-libidn --with-ssl=/root/deps/openssl/Release_arrch64i/openssl_fPIC LDFLAGS=-ldl
make
其中 with-ssl 指定的路径为我们交叉编译后的openssl 的位置,需要注意的是,这个路径下的openssl 库文件和头文件,应该按照如下方式放置
image.png
这个时候我们可以直接拿来库和头文件使用了,头文件在"当前源码路径/include" 文件夹下,库文件在"当前源码目录的/lib/.libs/libcurl.a","当前源码目录的/lib/.libs/libcurl.so"