Linux 交叉编译(toolchain) ARM aarch64版 libcurl.so 库

前言全局说明

curl 是用来访问网络,可以上传下载数据


一、说明

系统环境:

ubunt 18.04

二、官网下载源码:

2.1 最新版本

https://curl.haxx.se/download.html
https://github.com/curl/curl/releases

2.2 历史版本

https://curl.se/download/

2.3 变更日志

https://curl.se/changes.html

2.4 发布版本时间

https://curl.se/docs/releases.html


三、编译

3.1 下载

curl https://curl.se/download/curl-7.51.0.tar.gz -o curl-7.51.0.tar.gz

根据提示,下载gz后缀的源码 包:
image


image

3.2 解压

解压到任意路径

tar -zxf curl-7.51.0.tar.gz

解压绝对路径:/home/qt/temp
image


四、编译

4.1 生成编译配置项

用automake 生成编译相关配置文件

./buildconf

image

4.2 配置交叉编译工具链(toolchain)环境

将交叉编译工具链gcc的bin路径添加到 PATH 路径中, 假设工具链在:/tmp/gcc-linaro-aarch64-linux-gnu/bin

target_host=aarch64-linux-gnu
CROSS_COMPILE=aarch64-linux-gnu-
toolchain_bin=/tmp/gcc-linaro-aarch64-linux-gnu/bin
PATH=$toolchain_bin:$PATH

注意:aarch64-linux-gnu 根据你 /tmp/gcc-linaro-aarch64-linux-gnu/bin 里实际工具名修改

4.3 配置编译选项

cd curl-7.51.0/
./configure --host=${target_host} CC=${CROSS_COMPILE}gcc LD=${CROSS_COMPILE}ld \
--prefix=${PWD}/_install

--prefix 如果不指定安装路径,默认会安装到系统的 /usr/local/lib目录下,因为我们是给ARM机器上用的,为了系统干净,就指定安装到源码目录的 /home/qt/temp/curl-7.51.0/_install/ 下

其他一些参数:

--help 帮助
--enable-debug 在这里我只加了这个参数,为了后续的调试,
--enable-static 指定编译静态库
--with-openssl 指定的是openssl相关库目录
--with-ssl 开启对https支持,需要先编译openssl , 并使用--with-openssl=【指定openssl生成的lib,include ,bin 所在的路径】

image

image

4.4 编译、安装

make
make install

执行 make install 才能出现 _install/ 目录

image

image

安装完成:
image

编译出的结果:
image



免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:
https://www.cnblogs.com/132818Creator/p/13074011.html (curl-7.51.0.tar.gz)
https://blog.csdn.net/lelebanaba/article/details/131254028 (libcurl简介)
https://blog.csdn.net/new9232/article/details/135495762
https://www.cnblogs.com/kernelx/p/15530149.html (编译一个linux版本、一个arm版本。)
https://blog.csdn.net/lelebanaba/article/details/131254028 (--with-ssl)



posted @   悟透  阅读(373)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2023-07-05 pip3 Defaulting to user installation because normal site-packages is not writeable
2023-07-05 git log 查找、过滤
2023-07-05 git拉取远程仓库所有的分支到本地
点击右上角即可分享
微信分享提示