1.下载mosquitto源码mosquitto-1.4.14
2.解压,进入源码目录,vim config.mk
对应项改成
WITH_TLS:=no
WITH_TLS_PSK:=no
WITH_SRV:=no
WITH_UUID:=no
(为了防止openssl对编译的影响,这里使ssl禁止编译,偷懒?)
最后加上
STRIP?=arm-linux-strip
其中arm-linux-strip根据自己的交叉编译链确定
3.编译
make CC=arm-linux-gcc CXX=arm-linux-g++
交叉编译链适自己而定
4.安装
sudo su
make install
如果提示交叉编译链找不到,则在root账户下也添加一下交叉编译链的环境变量即可
5.交叉编译应用程序
arm-linux-gcc mosqitto_sub.c -lmosquitto -I arm-ku/mosquitto-1.4.14/lib -L /usr/local/lib -o sub
6.拷到目标板运行
报错:
error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
原因是没有把对应的库拷贝到目标板,使得应用程序无法运行
则把 lib/libmosquitto.so.1 拷贝到目标板的/usr/lib目录下即可
7.把服务器mosquitto拷贝到目标板运行,用客户端发布订阅消息测试