笔记

  因这个Qt程序会使用MQTT通信,所以编译、移植Qt之前要先编译MQTT模块,而MQTT的编译,依赖于OpenSSL,所以就有了本篇文章,本文将介绍OpenSSL的交叉编译。

首先下载源码,下载地址是:OpenSSL
下载好了传到ubuntu,有些朋友问我,为什么我很多时候不直接在Ubuntu里git clone。其实,因为众所周知的原因,git clone 整个项目的时间是非常耗时的,且没有必要将OpenSSL这个项目的所有文件都clone到本地,github页面上不仅仅是源码,还有关于这个项目的所有说明,以及一些其他文件,所以clone要很久,而去官网、镜像站直接下载源码,再进行编译会更快一些。

mkdir openssl                          #新建openssl文件夹,用于存放源码
cd openssl                             #进入文件夹,并通过FTP等工具将源码传到ubuntu
tar -xvf openssl-1.1.1l.tar.gz         #解压源码
cd openssl-1.1.1l                      #进到源码目录
mkdir build                            #新建编译输出文件夹

./Configure linux-armv4 no-asm shared --prefix=/home/pi/openssl/openssl-1.1.1l/build --cross-compile-prefix=arm-linux-gnueabihf-        #配置生成Makefile

Configure配置释义:

  • linux-armv4 #目标平台,一定要写在参数第一位
  • no-asm #表示不使用汇编代码
  • shared #动态编译
  • prefix #指定输出目录
  • cross-compile-prefix #指定交叉编译器

openssl_config.jpg

如上图所示,就表示配置成功,可以进行编译了

make

make install

openssl_succ.jpg

如上图所示,表示OpenSSL 交叉编译成功!



未完待续...

最后修改:2021 年 08 月 27 日 04 : 51 PM
您的支持就是我持续更新的动力!