IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 关于ARM实现mqtt功能的mosquitto移植的详细步骤 -> 正文阅读

[嵌入式]关于ARM实现mqtt功能的mosquitto移植的详细步骤

一. 准备cjson-master.tar.gz、libuuid-1.0.3.tar.gz、mosquitto-2.0.5.tar.gz、openssl-1.1.1i.tar.gz

先准备这些源码包,后续开始针对这些内容进行移植;

二. 先交叉编译libuuid-1.0.3.tar.gz

我们现在LINUX系统中建立存放这些文件的目录 mqtt,安装存放在mqtt-lib,在 /opt/mqtt 和 /opt/mqtt-lib;

tar -vxf??libuuid-1.0.3.tar.gz

cd? libuuid-1.0.3

./configure --prefix=/opt/mqtt-lib/libuuid-1.0.3 CC=arm-linux-gcc --host=arm-linux

配置安装目录/opt/mqtt-lib/libuuid-1.0.3

交叉编译器CC=arm-linux-gcc

指定host? ?--host=arm-linux

执行完成后生成Makefile文件

?然后,在命令行中执行

make

make install

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

?这样libuuid交叉编译完成

三. 交叉编译openssl库

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

tar -vxf openssl-1.1.1i.tar.gz

cd openssl-1.1.1i

配置安装目录并生成Makefile文件

1. 输入命令

./config no-asm shared no-async --prefix=/opt/mqtt-lib/openssl --cross-compile-prefix=arm-linux-

no-asm: ?在交叉编译过程中不使用汇编代码代码加速编译过程;
?
shared: 生成动态连接库。
?
no-async: 交叉编译工具链没有提供GNU C的ucontext库

–prefix=: 安装路径
?
–cross-compile-prefix=: 交叉编译工具

2. 编辑Makefile文件

?这里需要注意,因为生成的Makefile文件的读写权限问题

最好添加 chmod 777 Makefile,这样在修改时就可以保存没有问题

使用gedit Makefile 对Makefile文件进行编辑

修改Makefile文件

#CNF_CFLAGS=-pthread -m64
#CNF_CXXFLAGS=-std=c++11 -pthread -m64
#CC=$(CROSS_COMPILE)gcc ? ? ?#注释掉
#CXX=$(CROSS_COMPILE)g++ ? ?#注释掉
#AR=$(CROSS_COMPILE)ar ?#注释掉
保存后Makefile文件

3. make CC=arm-linux-gcc

4. make install? 安装

5.在对应的安装目录 /opt/mqtt-lib/openssl中出现下列文件表示交叉编译安装完成

?四 交叉编译cjson库

1. tar -zxvf? cjson-master.tar.gz

2.cd cjson-master

3. chmod 777 Makefile

4. 修改其中的安装路径和编译工具

?另外需要注意的是在编译过程中碰到cannot find -lssp错误。

原因:

工具链中缺少libssp库,该库包含支持GCC堆栈保护函数的程序。

解决方案:

?去掉堆栈保护

打开Makefile,搜索到fstack-protector,将该FLAG注释。

?5.? make? 执行编译

?6.? make install 安装完成

五 安装mosquitto-2.0.5

1. tar vxf mosquitto-2.0.5.tar.gz

2. cd?mosquitto-2.0.5

3. 进入后执行修改config.mk

? ? gedit config.mk 进入编辑环节

WITH_SRV:=no
WITH_UUID:=no
WITH_WEBSOCKETS:=no
WITH_DOCS:=no
CFLAGS += -I /opt/mqtt-lib/openssl/ssl/include
LDFLAGS += -L/opt/mqtt-lib/openssl/ssl/lib -lssl -lcrypto
STRIP?=arm-linux-strip

添加在这里

?

?

?4. ?make CC=arm-linux-gcc CXX=arm-linux-g++

?5. make install

这样关于MQTT的交叉编译部分也就完成了!

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 11:06:03  更:2021-10-22 11:07:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:38:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码