ImapBox上关于paho.mqtt.c的交叉编译教程大部分都是有问题的,或者是胡乱复制的,所以自己在此仔细写此文章自己一步一步移植成功的经验,为大家节约时间。虚拟机VM,系统Ubuntu16.04 64位,交叉编译器为arm-openwrt-linux-gcc,交叉编译paho.mqtt.c-master,库包含OpenSSL和mqtt5的功能。 paho.mqtt.c-master下载地址,下载最新的就行。 因为OpenSSL是paho.mqtt.c-master的一个基础库,所以必须先交叉编译OpenSSL。关于OpenSSL的交叉编译,有一些比较好的文章,贴出来供大家参考。openssl的编译与交叉编译 我的OpenSSL交叉编译路径在/home目录下面,路径为/home/zkty/arm-openssl/ 回到paho.mqtt.c-master路径下,打开命令窗口,切换root用户,执行一下命令: 特别注意上述三个参数: 执行paho.mqtt.c开源代码的ARM移植
1、环境及背景
2、开源资源下载
OpenSSL下载地址,此次使用的是openssl-1.1.1g.tar.gz。3、编译过程
3.1编译OpenSSL
此处我就不在此赘述OpenSSL的交叉编译了,这块有问题可以留言给我,基本问题不大。3.2编译paho.mqtt.c
备注: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)
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 执行完毕后就可以了
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算