MQTT C++ Client-Windows

本文详细介绍了如何在Windows环境下,使用CMakeGUI构建和编译C++ MQTT客户端库,包括安装CMake和OpenSSL,下载源码,配置CMake选项,生成及编译C和C++类库,并最终在MQTT工程中配置预处理器、头文件目录、库目录和依赖项,实现MQTT客户端的编译测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装CMake GUI,下载地址CMake

2.安装openssl,下载地址Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

注意:如果需要SSL加密传输,则首先需要安装OpenSSL,若不需要则无需安装,我选择安装。

3.下载源码包

c++ Mqtt Client地址:GitHub - eclipse/paho.mqtt.cpp

下载mqtt c的库,进入刚刚下载的文件夹,打开文件install_paho_mqtt_c.sh,下载路径下图红圈中

GitHub - eclipse/paho.mqtt.c: An Eclipse Paho C client library for MQTT for Windows, Linux and MacOS. API documentation: https://eclipse.github.io/paho.mqtt.c/

 4.生成C类库

4.1生成C工程代码

注意:1.所有的Visual Sudio工程的Runtime Library编译参数都为Multi-threaded DLL(/MD)或者MDd。所以以后建的工程都要保持一致。2.编译的工程要Debug或者Release版本要保持一致,我当前选择的是Release版本。

在..\paho.mqtt.c中新建一个文件夹Windows Build存放编译文件

打开CMake GUI:

 点击configure

 点击finish,关闭该界面。

在主界面中再次点击Configure,此时cmake-gui中会出现可设置的编译选项

 按照上图所示进行配置。

 点击Generate按钮生成Visual Studio工程文件,此时OpenProject按钮状态变可点击的状态。

4.2编译C类库

打开工程编译生成如下:

其中*-mqtt3a-*为异步版本;*-mqtt3as-*为支持ssl的异步版本;*-mqtt3c-*为同步版本;*-mqtt3cs-*为支持同步版本。*static,为静态库lib版本,不含static的为动态库dll版本。

工程选择Release版本。

新建一个install/bin文件夹存放编译结果,将每个子项目的输出目录都改为install/bin。

修改输出目录:子项目右键->属性->配置属性->常规->输出目录。

配置完成,ALL BUILD右键生成:

5.生成C++类库

5.1.生成C++工程

在..\paho.mqtt.c中新建一个文件夹Windows Build存放编译文件

打开CMake GUI:

 其中PAHO_MQTT_C_INCLUDE_DIRS是c源码头文件的库的路径;PAHO_MQTT_C_LIBRARIES是C编译的库。

 点击Generate按钮生成Visual Studio工程文件,此时OpenProject按钮状态变可点击的状态。

5.2生成C++类库

工程选择Release版本。

新建一个install/bin文件夹存放编译结果,将每个子项目的输出目录都改为install/bin。

修改输出目录:子项目右键->属性->配置属性->常规->输出目录。

打开工程,编译红框中的:

 配置完成,ALL BUILD右键生成:

6.创建MQTT工程

6.1拷贝源码头文件和类库

在该工程下新建两个文件夹,include和lib,include存放源码头文件,lib存放库文件。

include文件夹下含有两个子文件夹paho.mqqt.c存放C源码头文件;paho.mqqt.cpp存放C++源码头文件。

 6.2配置预处理器

项目右键->属性->C/C++->预处理器->预处理器定义,添加

WIN64
_WINDOWS
OPENSSL
OPENSSL=1

6.2包含头文件目录

项目右键->属性->VC++目录->包含目录,添加

G:\MqttConsole\include\paho.mqqt.c\src

G:\MqttConsole\include\paho.mqqt.cpp\src

 

 6.3添加库目录

项目右键->属性->链接器->常规->附加库目录,添加G:\MqttConsole\lib

 6.4添加依赖项

项目右键->属性->链接器->输入->附加依赖项,添加

paho-mqtt3as-static.lib
paho-mqttpp3-static.lib
C:\Program Files\OpenSSL-Win64\lib\VC\libcrypto64MDd.lib
C:\Program Files\OpenSSL-Win64\lib\VC\libssl64MDd.lib
ws2_32.lib

6.5编译测试

paho.mqtt.cpp的async_consume.cpp源码拷贝过来,右键生成,进行编译。

出现如下窗口,则测试成功。

 下载源码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_41280091

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值