1.下载最新的mosquitto.1.4.10.tar.gz的源码
2.解压,打开config.mk。在文件顶部添加如下
CC=arm-xx-linux-gcc
CXX=arm-xx-linux-g++
CPP=arm-xx-linux-g++
AR=arm-xx-linux-ar
LD=arm-xx-linux-ld
文件末尾的prefix= 需要输出路径
stript=arm-xx-linux-strip
3.去掉config.mk中一些选项
WITH_TLS:=no
WITH_TLS_PSK:=no
WITH_SRV:=no
WITH_UUID:=no
当然,如果你需要这些外部库就需要编译出来,并改为yes
4.make && make install
5.移植到开发板后,用源码中的example/temperature_conversion做实验,开能否链接得上。
运行mosquitto &
再运行temperature_conversion,结果死活都连接不上,也没有任何错误提示。在x86编译的环境下很容易就连接上了。
6.上面的是DNS相关的问题,开发板etc 目录下缺少部分文件。设置开发板的DNS部分,从虚拟机中拷贝host* 和reslov.conf到开发板etc目录下。重启,再运行temperature_conversion,可以发现已经OK了。