Как собрать Paho MQTT C++ на Windows

У меня есть несколько данных JSON, которые мне нужно загрузить на azure iot hub, Я пишу код на C++ и нужно mqtt опубликовать все данные в iot hub. Я имею в виду эту страницу github: https://github.com/eclipse/paho.mqtt.cpp

Но инструкция по его сборке немного запутана и, похоже, не работает. Может кто-нибудь объяснить, пожалуйста, как я могу установить mqtt в Windows и может использовать его с Visual Studio C++. Пожалуйста помоги. Спасибо

0 ответов

Я тоже боролся последние несколько дней, и, наконец, у меня все получилось.

Мне удалось использовать графический интерфейс CMake и консоль разработчика из Visual Studio 2019.

Инструкции, которым я (вроде бы) следовал, были следующие: https://github.com/eclipse/paho.mqtt.cpp. Прокрутите вниз до части Windows, это на самом деле очень просто. Однако вместо использования терминала для команд cmake -BBuild ... я использовал графический интерфейс CMake, в котором я настроил переменные соответствующим образом.

Установка paho.mqtt.c

Итак, как сказано в инструкции, сначала необходимо установить paho.mqtt.c. Для этого просто клонируйте репо где-нибудь на вашем компьютере. Внутри папки paho.mqtt.c создайте папку "build".

Откройте графический интерфейс CMake, затем нажмите "Обзор источника" и укажите папку, в которой было клонировано репо. ../paho.mqtt.c/. Для "Обзор сборки" выберите только что созданную папку сборки.../paho.mqtt.c/build/

Нажмите "Настроить" (я использовал генератор по умолчанию Visual Studio 16 2019). В этом случае я не касался переменных конфигурации, поэтому просто пошел дальше и щелкнул "Создать".

CMake GUI для paho.mqtt.c

Затем откройте консоль разработчика (нажмите клавишу Windows, введите "разработчик" и откройте командную строку разработчика для VS 2019 или любой другой версии, которую вы используете) и перейдите в папку paho.mqtt.c. Там по инструкции на странице github набираем команду:

cmake --build build --target install

Это установит paho.mqtt.c в C:\Program Files(x86)\Eclipse Paho C\. Обратите внимание, что это местоположение можно изменить, изменивCMAKE_INSTALL_PREFIX переменную в графическом интерфейсе CMake в произвольное расположение.

Установка paho.mqtt.cpp

По сути, процедура такая же: откройте графический интерфейс CMake, выберите папку, содержащую исходный код, затем папку сборки и нажмите "Настроить".

Теперь, поскольку paho.mqtt.cpp использует библиотеки из paho.mqtt.c, вы должны указать cmake, где найти соответствующие библиотеки paho.mqtt.c.

Для этого настройте переменные PAHO_MQTT_C_INCLUDE_DIRS а также PAHO_MQTT_C_LIBRARIES.

  • PAHO_MQTT_C_INCLUDE_DIRS должен указывать на папку "include" внутри установки paho.mqtt.c, в моем случае: C:/Program Files (x86)/Eclipse Paho C/include
  • PAHO_MQTT_C_LIBRARIES Я установил указатель на paho-mqtt3c.dll, в моем случае: C:/Program Files (x86)/Eclipse Paho C/bin/paho-mqtt3c.dll

Остальные варианты я оставил нетронутыми.

Наконец, вернитесь в командную строку разработчика, перейдите в папку paho.mqtt.cpp и запустите cmake --build build --target install.

Если все пойдет хорошо, будет установлен paho.mqtt.cpp в C:/Program Files (x86)/paho-mqtt-cpp, согласно переменной конфигурации CMAKE_INSTALL_PREFIX.

Теперь вы можете ссылаться на обе библиотеки в своих проектах на C++. Имейте в виду, что если вы хотите использовать библиотеку paho.mqtt.cpp в своем проекте, вам также необходимо включить paho.mqtt.c.

Другие вопросы по тегам