当前位置: 首页 > article >正文

交叉编译openssl及curl

操作环境:Ubuntu20.04

IDE工具:Clion2020.2

curl下载地址:https://curl.se/download/

openssl下载地址:https://openssl-library.org/source/old/index.html

直接交叉编译curl会报错找不到openssl,所以需要先交叉编译openssl

1. 交叉编译openssl

openssl源码文件夹建立脚本build.sh,其中cross-compile-prefix填入交叉编译工具链的前缀(包括前面的绝对路径),然后在这个openssl路径下运行build.sh即可。

  # 设置编译文件夹、安装文件夹
  build_dir=$PWD/build
  install_dir=$PWD/dir
  mkdir -p $build_dir
  
  cd $build_dir
  # 清除之前的编译内容
  make clean
  ../config no-asm shared no-async \
    --prefix=$install_dir \
    --cross-compile-prefix=/usr/local/crosstoolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
  
  # 递归替换当前目录及子目录所有 Makefile 中的 -m64
  find . -name "Makefile" -exec sed -i 's/-m64//g' {} \;
  
  # 编译并安装
  make -j $(nproc)
  make install

在这里插入图片描述

运行完成,openssl源码文件夹内会出现builddir文件夹,所有的编译内容会存放在build文件夹,最终编译出来的库文件、可执行文件被安装到了dir文件夹里面

在这里插入图片描述

2. 交叉编译curl

  1. 设置clion的交叉编译工具链

在这里插入图片描述

在这里插入图片描述

  1. 接下来设置cmake选项,将以下的两条内容都放在cmake选项里面即可,其中-DOPENSSL_ROOT_DIR是找安装openssl的根目录,也就是上一步刚刚编译出来的openssl的安装文件夹,-DCMAKE_INSTALL_PREFIX决定curl安装到哪里。
-DOPENSSL_ROOT_DIR=/home/xjgc/test/openssl-1.1.1w/dir
-DCMAKE_INSTALL_PREFIX=./target

在这里插入图片描述

  1. 点击curl文件夹中的CMakeLists.txt,右键加载cmake项目,并选择curl进行编译

在这里插入图片描述

在这里插入图片描述

如果在cmake-build-debug文件夹下执行make install,那么将会被安装到我们指定的安装路径(-DCMAKE_INSTALL_PREFIX参数指定的)

在这里插入图片描述


http://www.kler.cn/a/572840.html

相关文章:

  • 设计模式详解(单例模式)
  • 4.RabbitMQ工作模型
  • EXCEL页脚如何插入表格或者图片
  • #define GBB_DEPRECATED_MSG(msg) __declspec(deprecated(msg))
  • YOLOv8 自定义目标检测
  • Franka机器人FR3快速安装指南
  • mysql AB复制
  • scBaseCamp:一个AI代理的可持续扩充的单细胞数据存储库
  • 【linux】文件与目录命令 - uniq
  • 信创:信息技术应用创新产业
  • [Redis] 终极缓存四连杀:缓存预热、缓存击穿、缓存穿透、缓存雪崩,真的懂了吗?
  • 为什么过滤器需要一个 Wrapper 来 extends HttpServletRequestWrapper
  • 神经网络为什么要用 ReLU 增加非线性?
  • DeepSeek R1模型医疗机构本地化部署评估分析(Discuss V1版上)
  • 探索IntelliJ IDEA的Tongyi Lingma插件:AI编程助手的新体验
  • Java项目中ES作为时序库
  • PHP之常量
  • 基于 Kubernetes 搭建 DevOps 持续集成环境
  • DeepSeek基础学习:深度讲解AI大模型基本原理
  • Unity:物体指定初速度、方向移动方法