要构建c++的mqtt库,需要先编译c版本的mqtt库,因为C++版本的库是基于C语言库的。
具体可以查看官方给出的解释:GitHub - eclipse/paho.mqtt.cpp
编译c语言版本的库方法已经介绍过了:Paho - MQTT.C 动态库编译_feel_myself_is_lowB的博客-CSDN博客
下面开始编译C++版本的mqtt库:
git clone https://github.com/eclipse/paho.mqtt.cpp cd paho.mqtt.cpp cmake CMakeList.txt gmake gmake install
如果cmake版本过低会报错,需要升级cmake
如果升级cmake出错的话,也可以直接下载.sh版本的cmake,下载运行之后就会解压出可运行的cmke文件:
版本可以在Index of /files/v3.17 (cmake.org)这里面选择。修改目录和版本即可。
wget https://cmake.org/files/v3.17/cmake-3.17.0-Linux-x86_64.sh chmod 777 cmake-3.17.0-Linux-x86_64.sh # 修改权限 ./cmake-3.17.0-Linux-x86_64.sh mv cmake-3.17.0-Linux-x86_64.sh cmake yum remove cmake # 删除旧版本 ln -s /opt/cmake/bin/cmake /usr/bin/ # 为cmake创建软连接 cmake --version # 验证
升级完cmake之后,重新执行
cmake CMakeList.txt
gmake
gmake install
执行完成之后,会在/usr/local/include目录下生成mqtt文件夹
该文件夹下存放了mqtt使用的头文件。在/usr/local/lib64/目录下生成了mqtt的C++动态库