在官网/source/old/index.html 下载openssl。比如我下的是openssl-1.1.1m.tar.gz
linux命令行执行:
sudo tar -zxvf openssl-1.1.1m.tar.gz
cd openssl-1.1.1m/
sudo ./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=/home/lwf/workplace3/FusionCube_dev/master-6110/platform/toolchain/petalinux_2018.3/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-
参数说明:
no-asm: 表示不使用汇编。在交叉编译过程中不使用汇编代码代码加速编译过程。
shared: 生成动态链接库。
no-async: 表示编译器不支持ucontext库。某些交叉编译工具链可能不提供GNU C的ucontext库。
--prefix=: 安装路径。表示编译出来的程序/库的所在路径。
--cross-compile-prefix=: 指定交叉编译工具的路径。如果不是交叉编译则不需要指定该选项。
如果config的时候出现报错:“Can't locate Carp.pm in XXX”,那就重新安装Perl。
删除Makefile里面所有的-m64编译选项
sudo sed -i 's/-m64//' Makefile
然后
sudo make
sudo make install
执行上述步骤后,可以看到在install/lib 下生成openssl的库了。