安装和使用适用于 C++ 的 MQTT Paho 库

Install and use MQTT Paho libraries for C++

我希望我的问题很容易解决。我应该在我的 Raspberry Pi v2 中使用 mqtt 协议,所以现在我正在尝试使用 Paho 库:

http://www.eclipse.org/paho/

我用的是C++语言,所以我先写了这些命令

git clone http://git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.c.git
cd org.eclipse.paho.mqtt.c.git
make
sudo make install

然后是这些

git clone http://git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.cpp.git
cd org.eclipse.paho.mqtt.cpp.git
make

现在我有两个问题:

  1. 我必须在我的文件中包含什么库?我正在尝试编译 Paho 站点 https://www.eclipse.org/paho/clients/cpp/ 中的示例,但如果我包含 C 库 "MQTTClient.h"(在 C 示例中),它无法识别 类,例如 mqtt::client。我试图包含 client.h(我在文档中找到它)但编译器没有找到它。
  2. 为什么启动Paho库的C++程序没有安装任何东西?只有创建库 lib/linmqttpp.so.0.1 的 make 命令。我必须在编译命令中 link 它吗?怎么样?

目前在 git 项目的 paho c++ 中,它没有为新用户正确构建。它会在您执行 make 时创建一个空的 c++ 库,因此您 link 反对的任何代码都将因未定义的方法而失败。您可以通过 运行 此命令查看您的库中有哪些内容。

nm -g lib/linmqttpp.so.0.1

你会看到它是空的。

此外,如果您从网站上复制并传递了示例代码,那么它将无法运行。除了网站上的内容之外,它还需要其他代码。它只是给你一个代码片段。

示例代码在此目录中。 src/samples

paho c++ examples

目前示例文件的 make 文件将失败。

我刚刚向项目提交了一个补丁来修复主构建和示例文件构建。应用后,项目将正确构建,您可以开始破解示例文件。

关于 C++ 项目未安装它,因为 make 文件中没有要安装的目标。如果您现在想要使用 sudo 权限将在 lib 中创建的文件复制到下面。 /usr/local/lib/

然后您可以从任何项目访问共享库。