CMake 生成Visual Studio 2022工程---第三章.Eclipse Paho C

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

该库支持同步编程和各种异步编程模型。

1. Eclipse Paho C下载

版本: 1.3.16**。**

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

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

2.Visual Studio 2022工程生成

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

cmake-gui启动后

选择源目录 ,点击"Browse Source..."按钮,

选择D:\lib\ D:\lib\D:\lib\paho.mqtt.c-master目录。

选择工程生成目录 ,点击"Browse Build..."按钮,

选择D:\lib\ D:\lib\paho.mqtt.c-master\win64目录。

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

点击"Finish "按钮。稍等片刻,下面一片红色。选中"Grouped "和"Advanced ",注意选择**"PAHO"**下面的选项,按照下图选择。

再次点击"Configure"按钮,出现错误。

确定后,开始配置。

下面是核心配置项:

√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/Eclipse Paho C++。

说明: Eclipse Paho C库生成后的安装位置。该项配置生成库的安装位置,这个路径在下一章中生成Eclipse Paho MQTT CPP会用到。

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

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

3.Visual Studio 2022工程编译

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

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

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

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

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

4. Eclipse Paho C库安装

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

安装完成后,就可以在C:\Program Files\找到Eclipse Paho C目录。

5. Eclipse Paho C使用示例

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

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

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

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

再启动一个命令终端,运行一次"MQTTAsync_publish.exe",在MQTTAsync_subscribe命令终端中就可以接收订阅的主题。

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

相关推荐
007张三丰2 天前
AIoT与嵌入式系统深度解析:2026软考案例核心考点全攻略
物联网·mqtt·kafka·freertos·时序数据库·tdengine·aiot
特立独行的猫a5 天前
Rust+ Tauri实现漂亮小巧的Mqtt客户端工具--AtomMQTT Client 实现详解
开发语言·后端·mqtt·rust
时光の尘5 天前
【STM32实战】ESP8266 通过 MQTT 协议对接 OneNET 云平台实现数据上传与下发(源码可直接移植)
stm32·mqtt·嵌入式·iot·esp8266
特立独行的猫a7 天前
AtomMQTT--使用Rust语音实现的轻量级高性能MQtt服务器
服务器·开发语言·mqtt·rust·broker
加油20199 天前
嵌入式软件技术栈和学习路线详解
linux·arm开发·数据结构·mqtt·设计模式·嵌入式
行者-全栈开发10 天前
【AI交通安全】IoT智能机车实战:ESP32+MQTT+Flink全栈方案,事故率降65%
人工智能·物联网·mqtt·flink·时序数据库·influxdb·智能机车
回忆2012初秋13 天前
.NET 8.0 实战:基于 MQTTnet 封装高可用的 MQTT 发布/订阅工具类
开发语言·mqtt·.net
AI2中文网14 天前
UrsPahoMqttClient 心跳问题解决指南——Paho 底层已自动处理,设好 KeepAlive 就行
mqtt·app inventor
星野云联AIoT技术洞察20 天前
Brownfield 到 Cloud:老旧工业设备接入现代 IoT 平台的现实路径
mqtt·modbus·opc ua·工业iot·brownfield·协议适配·工业上云
旧书包的青春1 个月前
2026-5-7富爸爸穷爸爸
mqtt·股票