openssl交叉编译

  1. 下载源代码

有外网可以去github上下载,这里贴一个下载好的 openssl-3.3.0

  1. 在根目录下建一个build文件夹,切换到里面,再建一个install文件夹
bash 复制代码
openssl-3.3.0$ mkdir build/install -p
openssl-3.3.0$ cd build/
openssl-3.3.0/build$
  1. 自己的编译工具链路径导入PATH
bash 复制代码
openssl-3.3.0/build$ export PATH=$PATH:/path/to/cross_comiler_tool/bin #注意一定到到bin,建议采用绝对路径,以免出问题
  1. 执行config,注意修改--cross-compile-prefix为自己的工具链指令前缀
bash 复制代码
openssl-3.3.0/build$ ../config no-asm --prefix=./install --cross-compile-prefix=aarch64-buildroot-linux-gnu- #这个是编译工具链指令前面那部分
Configuring OpenSSL version 3.3.0 for target linux-x86_64
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created Makefile.in
...
  1. 删除Makefile中的-m64

执行完config后,会在build下生成很多文件,打开其中的Makefile,找到"-m64"并删除,否则下一步会遇到错误:

bash 复制代码
aarch64-buildroot-linux-gnu-gcc.br_real: error: unrecognized command line option '-m64'
  1. 执行make & main install
bash 复制代码
openssl-3.3.0/build$ make & make install
  1. install路径下就是我们编译完的结果
bash 复制代码
openssl-3.3.0/build$ tree -L 2 install
install
├── bin
│   ├── c_rehash
│   └── openssl
├── include
│   └── openssl
├── lib64
│   ├── cmake
│   ├── engines-3
│   ├── libcrypto.a
│   ├── libcrypto.so -> libcrypto.so.3
│   ├── libcrypto.so.3
│   ├── libssl.a
│   ├── libssl.so -> libssl.so.3
│   ├── libssl.so.3
│   ├── ossl-modules
│   └── pkgconfig
├── share
│   ├── doc
│   └── man
└── ssl
    ├── certs
    ├── ct_log_list.cnf
    ├── ct_log_list.cnf.dist
    ├── misc
    ├── openssl.cnf
    ├── openssl.cnf.dist
    └── private

15 directories, 12 files
相关推荐
铁匠匠匠35 分钟前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
天玑y3 小时前
算法设计与分析(背包问题
c++·经验分享·笔记·学习·算法·leetcode·蓝桥杯
YHPsophie8 小时前
ATGM331C-5T杭州中科微BDS/GNSS全星座定位授时模块应用领域
经验分享·笔记·单片机·信息与通信·交通物流
GEEKVIP11 小时前
如何在没有备份的情况下恢复 Mac 上丢失的数据
经验分享·笔记·安全·macos·电脑·笔记本电脑·改行学it
哲伦贼稳妥11 小时前
程序人生-我的外服经历(4)
经验分享·程序人生·职场和发展
Niuagha13 小时前
iPhone 16系列:摄影艺术的全新演绎,探索影像新境界
经验分享
Skywatcher__17 小时前
iPhone 16系列:熟悉的味道,全新的体验
经验分享
shuxianshrng1 天前
鹰眼降尘模型
大数据·服务器·人工智能·经验分享·机器人
哲伦贼稳妥1 天前
一天认识一个硬件之显示器
经验分享·其他·计算机外设
蜡笔小新星1 天前
机器学习和深度学习的区别
开发语言·人工智能·经验分享·深度学习·学习·机器学习