就是塔塔的个人空间 https://www.eechina.com/space-uid-136863.html [收藏] [复制] [RSS]

博客

项目实战-广域网智能家居-把mosquitto移植到arm上

已有 485 次阅读2020-12-30 13:52

Mosquitto库依赖libuuid和openssl库,所以我们在交叉编译Mosquitto之前需要先交叉编译他所需要的依赖库,这里作者已经把需要的源码都下载好了,大家可以在这个文档的目录下找到。不建议大家下载和我不一致的版本,可能会出问题。

mqtt源码下载页:

1. 交叉编译uuid库

    我们把uuid的源码拷贝到Ubuntu,作者是拷贝拷贝到了/home/topeet/mqtt下面,如下图所示:

输入以下命令,解压源码并进入解压生成的文件夹:

tar -vxf libuuid-1.0.3.tar.gz

如下图所示:

然后我们在/opt/下创建一个名为mosquitto-arm的文件夹,命令如下:

mkdir -p /opt/mosquitto-arm

如下图所示:

配置源码,我们在解压生成的uuid库的文件夹输入以下命令:

./configure --prefix=/opt/mosquitto-arm/libuuid-1.0.3 CC=arm-none-linux-gnueabi-gcc --host=arm-linux

如下图所示:

最后,编译并安装,命令如下:

make

make install

编译并安装成功后会在我们设置/opt/mosquitto-arm下得到一个libuuid的文件夹

2. 交叉编译openssl库

解压压缩包进进入解压后的目录

tar -vxf openssl-1.0.2g.tar.gz

cd openssl-1.0.2g

如下图所示。作者是放在了/home/topeet/mqtt目录下

配置编译参数

setarch i386 ./config no-asm shared --prefix=/opt/mosquitto-arm/openssl/

setarch i386:声明生成的是32位CPU,如果是64位CPU则去除该部分

 --prefix :指定make install后生成目录的路径,不修改此项则默认为OPENSSLDIR目录(/usr/local/ssl)。

shared :生成动态连接库。

no-asm: 是在交叉编译过程中不使用汇编代码代码加速编译过程,原因是它的汇编代码是对arm格式不支持的


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部