CMake 生成Visual Studio 2022工程---第四章.Eclipse Paho MQTT CPP

Eclipse Paho MQTT CPP 是MQTT协议的C++语言客户端库。该库包含Eclipse Paho MQTT 客户端库的C++语言源代码。通过构建使用该库在应用程序能够连接到MQTT代理以发布消息,并订阅主题和接收已发布的消息。

该库支持MQTT v3.1、v3.1.1和v5版本。 支持标准TCP、UNIX域套接字、带SSL/TLS的安全套接字、WebSockets(安全与非安全、代理支持)。支持消息持久化(用户可配置、内置文件持久化、用户自定义键/值持久化)。自动重连、离线缓冲、高可用性、阻塞与非阻塞API、C++接口(C++17)。

1. Eclipse Paho MQTT CPP 下载

版本: 1.3.16**。**

地址: https://github.com/eclipse-paho/paho.mqtt.cpp/archive/refs/heads/master.zip

将下载后paho.mqtt.cpp-master. zip解压到d:\lib 目录下,在D:\lib\paho.mqtt.cpp-master 目录下新建目录win64,

Eclipse Paho C 的源码文件(D:\lib\paho.mqtt.c-master 下所有文件)复制到 D:\lib\paho.mqtt.cpp-master externals目录子目录paho-mqtt-c中(D:\lib\paho.mqtt.cpp-master\externals\paho-mqtt-c)。

注意:externals目录下子目录名称是paho-mqtt-c

2.Visual Studio 2022工程生成

在开始菜单中找到"CMake (cmake-gui)",点击启动它。

cmake-gui启动后

选择源目录 ,点击"Browse Source... "按钮,选择D:\lib\paho.mqtt.cpp-master目录。

选择工程生成目录 ,点击"Browse Build... "按钮,选择D:\lib\paho.mqtt.cpp-master\win64目录。

选择工程生成配置 ,点击"Configure "按钮,选择"Visual Studio 17 2022 "和"X64"。

点击"Finish"按钮。稍等片刻,弹出错误对话框。

点击"OK "继续。选中"Grouped "和"Advanced ",注意选择**"PAHO"**下面的选项,按照下图选择。

开始配置。

下面是核心配置项:

√eclipse-paho-mqtt-c_DIR : ++C:\Program Files\Eclipse Paho C\lib\cmake\eclipse-paho-mqtt-c++。

说明: Eclipse Paho C库生成后的安装位置 。注意路径,就是Eclipse Paho C库编译后安装的位置,这个很重要!很重要!很重要!,配置不正确会报错。

√LIB EAY DEBUG: ++D:/Program Files/OpenSSL-Win64/lib/VC/x64/MDd/libcrypto.lib++。

说明: ibcrypto.lib库配置,该项配置Debug版的lib库位置。

√LIB EAY RELEASE: ++D:/Program Files/OpenSSL-Win64/lib/VC/x64/MD/libcrypto.lib++。

说明: ibcrypto.lib库配置,该项配置Release版的lib库位置。

√OPENSSL APPLINK SOURCE: ++D:/Program Files/OpenSSL-Win64/include/openssl/applink.c++。

**说明:**OpenSSL库的applink源文件位置配置。

√OPENSSL INCLUDE DIR: ++D:/Program Files/OpenSSL-Win64/include++。

**说明:**OpenSSL库的包含文件目录配置。

√SSL EAY DEBUG: ++D:/Program Files/OpenSSL-Win64/lib/VC/x64/MDd/libssl.lib++。

说明: libssl.lib库配置。libssl是OpenSSL项目的一部分,具体是提供TLS/SSL协议实现的共享库。该项配置Debug版的lib库位置。

√SSL EAY RELEASE: ++D:/Program Files/OpenSSL-Win64/lib/VC/x64/MD/libssl.lib++。

说明: libssl.lib库配置。该项配置Release版的lib库位置。

**√CMAKE INSTALL PREFIX:**C:/Program Files/PahoMqttCpp。

说明:Eclipse Paho MQTT CPP 库生成后的安装位置。

如果在生成Eclipse Paho C "PAHO" 下面的选项与Eclipse Paho MQTT CPP 库生成时 "PAHO" 下面的选项不对应,会有错误产生,所以要一致。导致错误的原因主要是下图所示的Eclipse Paho C lib库生成不完整。

配置完成后 ,再次点击"Configure"按钮后,红色没有了。下面是所有配置项截图,以供参考。

工程生成 ,点击"Generate "按钮,开始生成工程。工程生成完成后,就可以在D:\lib\paho.mqtt.cpp-master\win64 目录下看到Eclipse Paho MQTT CPP 的Visual Studio 2022工程文件。

3.Visual Studio 2022工程编译

双击打开" PahoMqttCpp.sln "工程文件,生成"Release"版本。

在"解决方案 "-"ALL BUILD"上点击鼠标右键,出现菜单。

点击右键菜单的"生成 ",开始生成Eclipse Paho MQTT CPP的库文件。

生成完成 ,可以在D:\lib\paho.mqtt.cpp-master\win64\src\Release目录下看到生成成功的库文件。

资源下载链接 : https://download.csdn.net/download/lujunql/92708063

4. Eclipse Paho MQTT CPP库安装

以管理员身份运行命令终端,进入D:\lib\paho.mqtt.cpp-master目录,运行库安装命令: ++cmake --build win64/ --target install --config Release++。

安装完成后,就可以在C:\Program Files\找到PahoMqttCpp目录。安装完成后编写应用程序时可以将包含文件和库路径指向该目录。

5. Eclipse Paho MQTT CPP 使用示例

Eclipse Paho MQTT CPP在源码目录下提供了使用示例,大家可以自己学习。

我使用async_publish_timeasync_subscribe进行测试,注意源码中的地址和主题,将其改成一致。

我使用的MQTT消息服务器使用emqx-5.3.2。启动emqx

在C:\Program Files\PahoMqttCpp\bin目录下,启动一个命令终端,运行"async_subscribe.exe",

再启动一个命令终端,运行"async_publish_time.exe"。

在async_subscribe命令终端中就可以接收订阅的主题。

在emqx 的web页也可以看到相关信息。

相关推荐
铁甲前沿24 天前
一个月玩转MQTT(篇五:开发自己的MQTT WEB页面)
前端·mqtt·asp.net·mqtt web开发
铁甲前沿24 天前
一个月玩转MQTT(篇四:移远EC200U模块MQTT连接测试)
mqtt·github·emqx·mqttx·移远ec200u
铁甲前沿24 天前
一个月玩转MQTT(篇三:测试EMQX)
mqtt·websocket·emqx·mqttx
REDcker1 个月前
Paho MQTT C 开发者快速入门
c语言·开发语言·mqtt
NotStrandedYet1 个月前
《国产系统运维笔记》第7期:打工人换统信UOS国产电脑后,第一件事:装RabbitMQ!
运维·mqtt·rabbitmq·国产化·uos·统信·信创运维
Tao____1 个月前
一个功能完备、高可扩展的物联网平台
java·物联网·mqtt·低代码·开源
EMQX1 个月前
EMQX vs. Azure IoT Hub:功能、限制与架构深度对比
mqtt