Skip to content
No description, website, or topics provided.
C++ CMake
Branch: master
Clone or download
redboltz Merge pull request #508 from jonesmz/newer-macosx
Specify newer osx image, for faster compilation
Latest commit f4b946e Oct 9, 2019

MQTT client/server for C++14 based on Boost.Asio

Version 7.0.0 Build StatusBuild Statuscodecov

Important note

MQTT v5 is supported since version 4.0.0.


mqtt_cpp is a header only library. It requires C++14 and the Boost Libraries 1.66.0 or later.

Add mqtt_cpp/include to your include path. Then, include mqtt_cpp.hpp and/or mqtt_server_cpp.hpp as follows:

For clients:

#include <mqtt_client_cpp.hpp>

For servers:

#include <mqtt_server_cpp.hpp>

You can compile your program as follows:

g++ -std=c++14 -Ipath_to_mqtt_cpp/include no_tls.cpp -lboost_system -lpthread
g++ -std=c++14 -Ipath_to_mqtt_cpp/include tls.cpp -lboost_system -lssl -lcrypto -lpthread

WebSocket support

If you want to use MQTT on WebSocket, you need to define MQTT_USE_WS macro. mqtt_cpp uses for WebSocket communication and it requires boost::string_view, so the boost library need to support boost::string_view.



You can build tests and examples as follows:

At mqtt_cpp directory

mkdir build
cd build
cmake ..
make test

In order to build tests, you need to prepare the Boost Libraries 1.59.0.


You can create html documents using doxygen.

make doxygen


mqtt_cpp is licensed under the Boost Software License, Version 1.0. See the LICENSE_1_0.txt file for details.

You can’t perform that action at this time.