在 Debian 上安装 eclipse/paho.mqtt C++ 客户端

在 Debian 上安装 eclipse/paho.mqtt C++ 客户端

我正在 Debian 9 上开发一个 C++ 程序(用于家庭 IoT 项目),需要充当 MQTT 客户端。我发现 paho.mqtt 在这方面会有所帮助,但到目前为止,安装它的在线文档都不起作用。

有谁有让 paho mqtt c++ 客户端在 Debian 9 上工作的经验吗?如果是这样,您能帮我完成需要执行的步骤吗?

(我的背景:我对 Linux 很熟悉,在用 C 或 C++ 编写代码时还可以,但不太熟悉 c++ 编译器的工作原理或在这种情况下如何获取可用于我的程序的 C++ 头文件)

提前致谢!

答案1

我安装了一个库存最小 Debian 9 实例,以具有 sudo 权限的普通用户身份登录并执行以下操作:

sudo apt-get install build-essential gcc make cmake cmake-gui cmake-curses-gui git doxygen graphviz libssl-dev
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
git checkout v1.2.1
cmake -Bbuild -H. -DPAHO_WITH_SSL=ON
sudo cmake --build build/ --target install
sudo ldconfig
cd ..
git clone https://github.com/eclipse/paho.mqtt.cpp
cd paho.mqtt.cpp
cmake -Bbuild -H. -DPAHO_BUILD_DOCUMENTATION=TRUE -DPAHO_BUILD_SAMPLES=TRUE
sudo cmake --build build/ --target install

这给了我一些二进制文件/usr/local/bin/。我运行了其中一个 ( /usr/local/bin/sync_publish) 并得到:

/usr/local/bin/sync_publish: error while loading shared libraries: libpaho-mqttpp3.so.1: cannot open shared object file: No such file or directory

我通过这样做解决了这个问题sudo ldconfig

相关内容