【问题标题】:paho cpp client cannot compile due to misuse of MQTTAsync_connectOptions由于滥用 MQTTAsync_connectOptions,paho cpp 客户端无法编译
【发布时间】:2017-06-19 00:41:49
【问题描述】:

我试图从源代码编译 paho cpp 客户端:

https://github.com/eclipse/paho.mqtt.cpp

但是,文件“connect_options.cpp”中的代码给了我编译错误,因为它试图访问 C 结构“MQTTAsync_connectOptions”中不存在的成员“binarypwd” >”。

此外,它试图通过调用“=”运算符来复制两个“MQTTAsync_connectOptions”结构对象,但是,该运算符重载并未在该 C 结构中定义(显然是因为它是 C结构!)

这很奇怪,因为它应该在github上很好地维护,我在这里错过了什么吗?

【问题讨论】:

  • 对不起,我应该使用 paho.mqtt.c 的开发分支。解决了。​​

标签: c++ c compiler-errors mqtt paho


【解决方案1】:

我很快尝试编译库并使用来自 github 的最新文件,这是我遵循的步骤。

Paho C

./configure
cd ../paho.mqtt.c
make
export PAHO_MQTT_C_PATH=$PWD
export LD_LIBRARY_PATH=$PWD/build/output

Paho cpp

cd ../paho.mqtt.cpp
export PAHO_DIR=$PWD
$PAHO_DIR/configure --with-paho-mqtt-c=$PAHO_MQTT_C_PATH
CXX=g++-4.8 CC=gcc-4.8 $PAHO_DIR/configure --with-paho-mqtt-c=$PAHO_MQTT_C_PATH
make

PS:一个建议是清除整个 PAHO cpp & C 文件夹并再次克隆 repo 以执行这些步骤,因为我记得在使用和不使用 SSL 库之间切换时遇到了与“=”运算符相同的问题但我最终重新开始解决问题。

【讨论】:

  • 它正在使用来自开发分支的最新文件,而不是来自主分支的最新文件,如 paho.mqtt.cpp 的 README 顶部所示。感谢您的回答,这也很重要对我来说:)
猜你喜欢
  • 2018-03-17
  • 2016-10-27
  • 1970-01-01
  • 1970-01-01
  • 2018-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
相关资源
最近更新 更多