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
相关推荐
C羊驼10 小时前
C语言学习笔记(十五):预处理
c语言·经验分享·笔记·学习·算法
louiseailife11 小时前
企业自动化升级:RPA与AI智能体融合趋势
经验分享
芯有所享11 小时前
【芯片书籍推荐之数字集成电路物理设计 :芯片后端设计的中文指南】
经验分享
Metaphor69213 小时前
使用 Python 在 Word 文档中添加水印
经验分享
三流架构师13 小时前
面试技巧资源合集
经验分享
中屹指纹浏览器13 小时前
2026住宅IP网络环境下指纹浏览器稳定性优化与工程实践
经验分享·笔记
C羊驼15 小时前
C语言学习笔记(十四):编译与链接
c语言·开发语言·经验分享·笔记·学习
m0_7167652316 小时前
C++提高编程--STL初识、string容器详解
java·开发语言·c++·经验分享·学习·青少年编程·visual studio
听忆.17 小时前
系统集成项目管理(中项随笔~计算机网络)
经验分享·职场和发展·学习方法
星轨初途17 小时前
类和对象(中):六大默认成员函数与运算符重载全解析
开发语言·c++·经验分享·笔记·ajax·servlet