1、下载mosquitto源码
官网 http://mosquitto.org/download/ 下载源码。
直接通过命令下载:
wget http://mosquitto.org/files/source/mosquitto-2.0.9.tar.gz
2、解压进入目录,解压。
tar -zxf mosquitto-2.0.9.tar.gz
3、解决编译错误
- 错误1:
In file included from mosquitto.c:17:0:
../config.h:48:35: fatal error: openssl/opensslconf.h: No such file or directory
# include <openssl/opensslconf.h>
解决办法:
sudo apt-get install libssl-dev
错误2:
make[2]: Leaving directory '/build/apps/db_dump'
make[2]: Entering directory '/build/apps/mosquitto_ctrl'
cc -I../mosquitto_passwd -I. -I../../ -I../../include -I../../src -I../../lib -DWITH_TLS -Wall -ggdb -O2 -Wconversion -DVERSION=\""2.0.9\"" -c mosquitto_ctrl.c -o mosquitto_ctrl.o
In file included from mosquitto_ctrl.c:29:
mosquitto_ctrl.h:21:10: fatal error: cjson/cJSON.h: No such file or directory
21 | #include <cjson/cJSON.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
解决办法:
需要先安装cmake。
cJSON 库安装步骤如下: 参考cJSON的README说明安装
-
git clone git clone https://github.com/DaveGamble/cJSON.git
-
cd cJSON/
-
mkdir build
-
cd build/
-
cmake .
-
sudo make install //因为要安装库到系统目录,最后这一步要有root权限才能执行
4、安装完毕,拷贝库文件和头文件到/usr
进入mosquitto源码目录:
/home/ares/workspace/mosquito-test/mosquitto-2.0.9
拷贝动态库文件:
sudo cp ./lib/libmosquitto.so.1 /usr/lib/
拷贝头文件:
sudo cp include/* /usr/include/