stm32移植paho_paho.mqtt.c开源代码的ARM移植
paho.mqtt.c开源代码的ARM移植
1、环境及背景
2、开源资源下载
3、编译过程
3.1编译OpenSSL
3.2编译paho.mqtt.c
1、环境及背景
CSDN上关于paho.mqtt.c的交叉编译教程大部分都是有问题的,或者是胡乱复制的,所以自己在此仔细写此文章分享自己一步一步移植成功的经验,为大家节约时间。虚拟机VM,系统Ubuntu16.04 64位,交叉编译器为arm-openwrt-linux-gcc,交叉编译paho.mqtt.c-master,库包含OpenSSL和mqtt5的功能。
2、开源资源下载
paho.mqtt.c-master下载地址,下载最新的就行。
OpenSSL下载地址,此次使用的是openssl-1.1.1g.tar.gz。
3、编译过程
3.1编译OpenSSL
因为OpenSSL是paho.mqtt.c-master的一个基础库,所以必须先交叉编译OpenSSL。关于OpenSSL的交叉编译,有一些比较好的文章,贴出来供大家参考。openssl的编译与交叉编译
此处我就不在此赘述OpenSSL的交叉编译了,这块有问题可以留言给我,基本问题不大。
3.2编译paho.mqtt.c
我的OpenSSL交叉编译路径在/home目录下面,路径为/home/zkty/arm-openssl/
备注:zkty是我创建VM虚拟机时自动创建的,其实就是此用户的home根目录。
解压缩在github下载的paho.mqtt.c-master .zip
进入cmake文件夹,可以看到toolchain.linux-arm11.cmake文件,这个文件打开设置交叉编译器参数(前提是你的Ubuntu交叉编译器已经设置好了)。
# path to compiler and utilities
# specify the cross compiler
SET(CMAKE_C_COMPILER arm-openwrt-linux-gcc)
# Name of the target platform
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_PROCESSOR arm)
# Version of the system
SET(CMAKE_SYSTEM_VERSION 1)
回到paho.mqtt.c-master路径下,打开命令窗口,切换root用户,执行一下命令:
root@ubuntu:/home/zkty/paho.mqtt.c-master# cmake -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_SAMPLES=TRUE -DPAHO_BUILD_DOCUMENTATION=TRUE -DOPENSSL_ROOT_DIR="/home/zkty/arm-openssl/" -DOPENSSL_LIB_SEARCH_PATH="/home/zkty/arm-openssl/lib/" -DOPENSSL_INC_SEARCH_PATH="/home/zkty/arm-openssl/include/openssl/" -DCMAKE_TOOLCHAIN_FILE=/home/zkty/paho.mqtt.c-master/cmake/toolchain.linux-arm11.cmake /home/zkty/paho.mqtt.c-master
特别注意上述三个参数:
-DOPENSSL_ROOT_DIR="/home/zkty/arm-openssl/"
-DOPENSSL_LIB_SEARCH_PATH="/home/zkty/arm-openssl/lib/"
-DOPENSSL_INC_SEARCH_PATH="/home/zkty/arm-openssl/include/openssl/"
这三个参数是设置OpenSSL的基础库文件的。
-DCMAKE_TOOLCHAIN_FILE=/home/zkty/paho.mqtt.c-master/cmake/toolchain.linux-arm11.cmake /home/zkty/paho.mqtt.c-master
这个参数是设置交叉工具链的。
执行
make -j4 package
执行完毕后就可以了
stm32移植paho_paho.mqtt.c开源代码的ARM移植相关推荐
- paho.mqtt.c开源代码的ARM移植
paho.mqtt.c开源代码的ARM移植 1.环境及背景 2.开源资源下载 3.编译过程 3.1编译OpenSSL 3.2编译paho.mqtt.c 1.环境及背景 CSDN上关于paho.mqtt ...
- STM32+ESP8266(ESP-12F)物联网温度计-移植paho MQTT协议连接阿里云
STM32+ESP8266(ESP-12F)物联网温度计-移植paho MQTT协议连接阿里云 目录 STM32+ESP8266(ESP-12F)物联网温度计-移植paho MQTT协议连接阿里云 一 ...
- ffmpeg-0.8 移植到 windows 开源代码
最新 ffmpeg-0.8 移植到 windows 开源代码 Posted on 2011-07-23 10:50 mcodec 阅读(2281) 评论(28) 编辑 收藏 最新 ff ...
- ST7735-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)
ST7735-TFT屏幕驱动 & 整理有stm32/51单片机/arduino等驱动代码 前言 关于ST7735 stm32驱动 引脚接线 代码移植 文件复制 端口修改 显示函数 中文汉字数组 ...
- STM32电子时钟 WATCHX-NWATCH( 开源)
话不多说,先看成果 主页面 目录 游戏 提示:上面的图用的板子是我自己做的c8t6板子 目录 话不多说,先看成果 项目介绍 一.来源 二.项目介绍 1.代码讲解 3.项目的扩展 最后 项目介绍 一.来 ...
- C++开源代码项目汇总
Google的C++开源代码项目 v8 - V8 JavaScript Engine V8 是 Google 的开源 JavaScript 引擎. V8 采用 C++ 编写,可在谷歌浏览器(来自 ...
- 基于DM642的X264开源代码实现的研究
基于DM642的X264开源代码实现的研究 文章发表于:2008-09-08 11:24 作者:谭超 王库 傅颖 来源:微计算机信息 摘要:本文概述了H.264视频压缩编码标准的主要特性,简要介绍了当 ...
- php 区块链算法_PoW/BFT等5种主流区块链共识算法的开源代码实现
共识算法是实现自主产权区块链的必不可少的关键环节,本文列出社区中相对成熟的区块链共识算法开源实现,包括BFT共识.Raft共识.Paxos共识.PoW共识等,可供希望开发自主产权区块链的团队参考学习. ...
- EtherCAT有哪些主流开源代码?它们的优点是什么?
EtherCAT两大主流开源代码为SOEM和Igh EtherCAT Master. SOEM SOEM 全称 Simple Open EtherCAT Master 优点: 非常易于使用 静态分配内 ...
- 嵌入式开发有用的github上的开源代码库
嵌入式开发有用的github上的开源代码库 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011559046/article/details/80 ...
最新文章
- 编程基础知识科普:C#中的问号运算符
- 布赖恩·凯利看好比特币现金:更多的用例可以转化为价值
- python语言程序设计——python3的33个保留字
- oracle11g知乎,【AAAI】AAAI2020录用论文汇总(二)
- Java任务完成后结算_Java执行程序:如何在任务完成时无阻碍地得到通知?
- android的fragment讲解
- JavaScript判断数组的几种方法
- 2017年CSTQB/ISTQB认证考试时间表
- 贴片晶振为智能手环带来了哪些功能?
- 自动驾驶技术基础——惯导
- 如果令 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 分别等于
- CCF NOI1107 成人礼
- 怎么在一堆身份证中筛选出大于18岁的?
- css中“zoom:1”是什么意思
- 继承/理解 super和this关键字
- keras 受限玻尔兹曼机_目前深度学习的模型有哪几种,适用于哪些问题?
- 张家界市4月份计算机职称,2017年4月张家界计算机应用能力考试报名时间4月10日起...
- Java开发的电子政务管理系统软件
- java kinect 人体识别_基于kinect的人体动作识别系统
- 野火STM32F103指南者笔记1.寄存器点亮LED
热门文章
- 深入解读Linux进程调度系列(2)——调度类sched_class详解
- php换行符sql,如何在PHP和MySQL的textarea中给换行符的同时避免SQL注入?
- python中的或运算_python入门:if语句中的逻辑运算符
- CNN LeNet-5 AlexNet VGG简介
- Hadoop-Streaming实战经验及问题解决方法总结
- org.apache.hadoop.fs.ChecksumException: Checksum error
- 信息课为什么不叫计算机课,你理解的互联网是这样的吗?为什么叫加入互联网?...
- 上海java工作经验与薪资_Java硕士京东工作1年,跳槽后他期望薪资26K,大家感觉他可以吗...
- android js 子线程,Android学习笔记:Android中的线程:MainThread 和 WorkerThread
- log函数 oracle power_Oracle 函数大全详细介绍