1、编译环境:本人使用的是VS2017(平台工具集V141)进行编译的64位版本。主要区别在于平台工具集,例如我编译完成的库,虽然你可能使用VS2015来进行调用,但是如果你的平台工具集也是V141的话,你也可以调用成功,平台工具集查看:
2、平台工具集是V120及以下编译不支持(待确认),我是用VS2013+V120进行编译了很久,没有成功,所以最好使用高版本的VS+平台工具集。
3、编译之前需要安装的软件:
(1)cmake-gui:我们需要使用它来将源文件编译成相应的VS工程;
(2)openssl:使用cmake-gui进行编译的时候,我们需要引用openssl的相关库;
cmake-gui下载地址: Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
openssl下载地址:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
4、具体的编译工作需要下载:
(1)paho.mqtt.cppmirrors / eclipse / paho.mqtt.cpp · CODE CHINA
(2)paho.mqtt.c
mirrors / eclipse / paho.mqtt.c · CODE CHINA
编译过程可以参考:Windows10下VS2017编译MQTT C与编译MQTT C++_CSDN的博客-CSDN博客
5.后面附上自己编译的64位库,平台工具集是V141,下载地址:
mqtt+VS2017+V141.zip-互联网文档类资源-CSDN文库
6、如果下载 5 中编译好的库,vs中需要做的配置(release版配置):
附加包含目录:.\mqtt\include\mqtt_c\src;.\mqtt\include\mqtt_cpp\src
附加库目录:.\mqtt\lib\release
同时程序中进行库的引用:
#include "MQTTAsync.h"
#include "MQTTClient.h"
#ifdef _DEBUG
#pragma comment(lib,"paho-mqttpp3-static.lib")
#pragma comment(lib,"paho-mqtt3as-static.lib")
#pragma comment(lib,"paho-mqtt3cs-static.lib")
#pragma comment(lib,"libcrypto64MDd.lib")
#pragma comment(lib,"libssl64MDd.lib")
#else
#pragma comment(lib,"paho-mqttpp3-static.lib")
#pragma comment(lib,"paho-mqtt3as-static.lib")
#pragma comment(lib,"paho-mqtt3cs-static.lib")
#pragma comment(lib,"libcrypto64MD.lib")
#pragma comment(lib,"libssl64MD.lib")
#endif
同时进行如下两项设置:
后面附上mqtt的官方页面,上面有例子,可以参考:Paho MQTT C Client Library: MQTT Client library for C
同时附上32位的mqtt库:
链接:https://pan.baidu.com/s/1FKq-4_TPw0vtv_AVXJDRFg
提取码:zhzc