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