当前位置:网站首页>交叉编译 CURL
交叉编译 CURL
2022-08-09 14:58:00 【iBlackAngel】
概述
curl 是一个利用 URL 语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称 cURL 为下载工具。cURL 还包含了用于程序开发的 libcurl。
cURL 支持的通信协议有 FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP 和 RTSP。
- cURL 官方网址是:https://curl.se/
- cURL 使用 github 托管源码:https://github.com/curl/curl
下载
curl 项目主要提供源代码包。最新的稳定版本可以从官方网站的 Download 页面进行下载,网址:https://curl.se/download.html
本示例下载的源码包为 curl-7.68.0.tar.bz2
非常重要:
建议远离 7.82 版本,该版本在访问 HTTPS 时会报 ‘curl: (27) Out of memory’ 故障,无法正常使用,原因未知。
编译
在准备开始交叉编译 curl 之前,需要先交叉编译 OpenSSL,可以参考:交叉编译 OpenSSL。接着我们正式开始交叉编译 curl:
解压缩源码包
tar -xvf curl-7.68.0.tar.bz2cd进入源码包目录curl-7.68.0,创建编译脚本cross-compile.sh:#!/bin/bash OUTPUT=$(pwd)/output if [ -d $OUTPUT ]; then rm -r $OUTPUT fi mkdir $OUTPUT export PATH=$PATH:/work/sdk/nvidia/nvidia_6.0.1.0/toolchains/aarch64--glibc--stable-2020.08-1/bin ./configure --prefix=$OUTPUT \ --host=aarch64-linux \ --with-ssl=/home/V01/uidq2691/projects/openssl/openssl-1.1.1n/output \ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \ --with-ca-path=/etc/ssl/certs make && make install- 脚本首先检查是否在当前目录存在
output目录,如果不存在则创建该目录用于编译结果libcurl库的存放; - 指定交叉编译器的路径并将其加入到环境变量
$PATH保证能够正确调用编译器; --prefix指定最终生成的路径,结果会生成在output目录下;--host指定交叉编译工具链命令的前缀,生成的Makefile文件中会将使用到的编译工具补全成aarch64-linux-gcc或者aarch64-linux-ar等;--with-ssl指定交叉编译库 OpenSSL 的头文件和库路径;--with-ca-bundle指定 CA 证书的文件路径(可选);--with-ca-path指定存在 CA 证书的存放目录(可选)。
- 脚本首先检查是否在当前目录存在
执行编译:
bash cross-compile.sh
最后编译出来的 curl 位于 output 目录下。
Enjoy Your Life.
边栏推荐
猜你喜欢
随机推荐
pyspark jieba 集群模型 对文本进行切词
模仿微信金钱输入框规则(修复7.0手机崩溃)
NLP-阅读理解任务学习总结概述
AsyncTask 串行还是并行
大唐杯5G练习题(二)
《平凡的世界》(书评)
VGG pytorch实现
微信小程序禁止页面左右滑动
抱抱脸(hugging face)教程-中文翻译-任务总结
人脸识别示例代码解析(二)——人脸识别解析
抱抱脸(hugging face)教程-中文翻译-预处理
抱抱脸(hugging face)教程-中文翻译-模型概要
Stetman的读paper小记:Deep Learning Backdoor Survey (Shaofeng Li, Shiqing Ma, Minhui Xue)
【工具使用】Modbus Slave软件使用详解
hugging face tutorial - Chinese translation - Loading pre-trained instances with AutoClass
关于亚马逊测评你了解多少?
MNIST数据集的训练(内附完整代码及其注释)
关于初级程序员职场如何提升技能的几点建议?
MouStart指纹浏览器怎么防关联
pyspark explode时增加序号









