参考如下链接。
windows编译openssl(64位)一游 - 心在哈尔滨 - 博客园
此链接中有个问题,就是第8步和第9步。 按照openssl的文档说明,应该调换一下
链接中的步骤如下
openssl中的步骤如下 (名为 INSTALL的文档)
虽然个人感觉没啥太大区别,但还是建议先执行 nmake test,在执行 nmake install 。
交叉编译openssl
注意:Configure中的C是大写的
./Configure linux-generic32 no-asm shared no-async --prefix=/home/share/openssl-3.0.0/output CROSS_COMPILE=/home/share/arm-linux/bin/arm-linux-gnueabihf- CC=gcc
no-async的作用是不使用GNU的ucontext库
linux-generic32表示是32位操作系统,这个需要带
--prefix表示istall时的文件输出目录
修改Makefile,去掉所有的 -m64 (如果是1.1.1版本,此步不做)
make
make install
注意:如果版本为1.1.0* 版本的,则又是另外一种编译方式(没有了Configure,换成了config)
./config no-asm shared -fPIC --prefix=/home/my/openssl-1.1.0l/output --openssldir=/home/my/openssl-1.1.0l/output -Wl,-rpath,/home/my/openssl-1.1.0l/output/lib
(如果不需要静态的,把 shared 去掉即可)
修改Makefile,将CC处的编译工具链换成交叉编译工具链,并去掉 -m64(我的箭头处有俩处-m64,截图已经去除了)
注意:CROSS_COMPILE处的交叉编译工具链最后不要有空格,否则找不到交叉编译工具链
然后
make
make install