0. 环境
ubuntu16已经搭好了交叉编译工具,mipsel-openwrt-linux-gcc
1. 下载paho.mqtt.c源码
版本是1.3.0
https://github.com/eclipse/paho.mqtt.c/releases
2. 编译库
cd paho.mqtt.c.1.3.0/src
gcc *.c -c
ar rcs libPahoMqttC.a *.o
3. 编译示例
3.1 请先自行修改mqtt服务器,使用自己的测试服务器
为了连接自己的测试服务器,添加这几行
conn_opts.username = USERNAME;
conn_opts.password = PASSWORD;
3.2 编译发布示例
cd samples
gcc MQTTAsync_publish.c -L../ -l PahoMqttC -I../ -o app_pub -lpthread -ldl
3.3 编译订阅示例
gcc MQTTClient_subscribe.c -L../ -l PahoMqttC -I../ -o app_sub -lpthread -ldl
3.4 测试
ubuntu下,打开两个终端
一个执行./app_pub,一个执行./app_sub
4. 交叉编译为mips
有了以上基础,可以尝试交叉编译自己的程序,放到7628、7688板子上执行
cd paho.mqtt.c-1.3.0/src/samples
mipsel-openwrt-linux-gcc *.c -c
ar rcs libPahoMqttC.a *.o
cd samples
mipsel-openwrt-linux-gcc main.c -L../ -l PahoMqttC -I ../ -o app -lpthread -ldl
编译方法参考了:https://blog.csdn.net/daidaihema/article/details/80902012