Win下编译安装使用PAHO-MQTT库(C和C++版本)

前言

Paho-Mqtt使用多种编程语言实现了MQTT的客户端,本文介绍如何编译生成他的C库和C++库。

编译
编译前的准备

github下载速度比较慢,但是paho这两个项目都只有几百K,所以还是很快的,请耐心等待下载。

注意:如果你只想使用C接口的mqtt-paho库,那么你可以只下C版本的代码进行编译。但是想用C++版本的话,是需要两个都下的,因为C++版本依赖C的库

C版本的编译

对于编译这些我已经写了一个.bat文件,只需要简单几步即可完成编译安装。

  • 解压文件:得到如下结构的文件,如果目录名是paho.mqtt.c-master,则需要将目录名改为paho.mqtt.c,方便后续操作。
    在这里插入图片描述
  • 点击开始菜单,找到Visual Studio 20xx文件夹,点击Developer Command Prompt for Vs 20xx
  • 然后cd D:\Documents\Code\Test\,注意这里是我的路径,看上图,你需要用你的路径
  • 将脚本paho-c-build-x86.bat或者paho-c-build-x64.bat拖到窗口中并填上参数:
    注意: 如果使用x86脚本和使用x64脚本的安装路径应该不同,比如我图里使用x86脚本的安装路径是D:\Documents\Code\Library\mqtt,如果使用x64脚本的话,应该用新的路径,比如D:\Documents\Code\Library\mqtt64,以免覆盖了x86生成的32位库。
    在这里插入图片描述
    这里有四个参数,填好即可:
    Usage: build.bat install_prefix_path build_type build_samples build_with_ssl [src_path]
          install_prefix_path: 编译完成后的安装目录
          build_type:          编译类型(Debug 或 Release)
          build_samples:       是否编译示例程序(TRUE 或 FALSE)
          build_with_ssl:      是否编译ssl的版本(TRUE 或 FALSE),需要openssl库
    
脚本
  • x86版本:paho-c-build-x86.bat
    @echo off
    
    set local
    :: 默认是字符串赋值,要数字则写/a
    SET /a param_cnt=0
    
    for %%a in (%*) do set /a param_cnt+=1
    if %param_cnt% leq 3 ( echo "参数过少!" && goto :help ) else ( goto :run )
    
    :help
    echo Usage: build.bat install_prefix_path build_type build_samples build_with_ssl [src_path]
    echo       install_prefix_path: 编译完成后的安装目录
    echo       build_type:          编译类型(Debug 或 Release)
    echo       build_samples:       是否编译示例程序(TRUE 或 FALSE)
    echo       build_with_ssl:      是否编译ssl的版本(TRUE 或 FALSE),需要openssl库
    goto :end
    
    :run
    :: 编译好的安装路径
    :: %~1表示去掉参数的引号,%f1表示获取这个路径的绝对路径,%~f1则是两者的结合
    SET INSTALL_PREFIX_PATH=%~f1
    
    :: 设置编译类型, Debug or Release
    SET BUILD_TYPE=%~2
    
    :: 设置是否编译示例程序, TRUE or FALSE
    SET BUILD_SAMPLES=%~3
    
    :: 设置是否编译SSL的版本, TRUE or FALSE
    SET BUILD_WITH_SSL=%~4
    
    if "%BUILD_TYPE%"=="" ( SET BUILD_TYPE=release )
    if "%BUILD_SAMPLES%"=="" ( SET BUILD_SAMPLES=FALSE )
    if "%BUILD_WITH_SSL%"=="" ( SET BUILD_WITH_SSL=FALSE )
    
    echo %INSTALL_PREFIX_PATH%
    
    :: 进入项目目录
    cd paho.mqtt.c
    
    if not "%errorlevel%"=="0" ( echo &#
  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: "paho-mqtt3a.lib" 是一个与 MQTT(Message Queuing Telemetry Transport)通信协议相关的文件。 MQTT是一种轻量级的发布/订阅消息传输协议,通常用于物联网设备之间的通信。它基于 TCP/IP 协议,使用发布/订阅消息模式,支持消息的持久存储和离线消息传输。 "paho-mqtt3a.lib" 是一个针对 C/C++ 程序开发的 MQTT 客户端文件,是 Paho MQTT 项目的一部分。Paho MQTT 项目是 Eclipse 基金会的一个开源项目,它提供了多个编程语言的 MQTT 客户端,包括 C/C++、Java、Python、JavaScript 等,用于开发 MQTT 客户端应用程序。 通过使用 "paho-mqtt3a.lib",开发者可以方便地在 C/C++ 环境中开发 MQTT 客户端应用程序。这个提供了一系列的函数和接口,可以实现与 MQTT 代理服务器的连接、订阅主题、发布消息等功能。 使用 "paho-mqtt3a.lib" ,开发者可以轻松地将 MQTT 客户端集成到自己的应用程序中。无论是在嵌入式设备上还是在桌面或服务器环境中,都可以使用这个实现与其他 MQTT 设备的通信。 总的来说,"paho-mqtt3a.lib" 是一个用于 C/C++ 程序开发的 MQTT 客户端,它简化了 MQTT 通信协议的使用,提供了丰富的功能和易于使用的接口,帮助开发者实现可靠和灵活的 MQTT 通信。 ### 回答2: paho-mqtt3a.lib 是一个 MQTT(Message Queuing Telemetry Transport)客户端,用于连接和交换消息的物联网设备和应用程序。它是 Paho 项目中的一部分,由 Eclipse 基金会支持和维护。 MQTT 是一种轻量级的通信协议,旨在在不同设备之间实现可靠和高效的消息传输。它使用发布-订阅模式,其中消息发布者将消息发布到特定的主题,而订阅者则通过订阅感兴趣的主题来接收这些消息。这种模式使得 MQTT 在物联网和大规模传感器网络中非常有用。 paho-mqtt3a.lib 提供了一种连接到 MQTT 代理服务器的,以便于设备和应用程序与消息代理进行通信。使用 paho-mqtt3a.lib,您可以创建一个 MQTT 客户端并连接到指定的消息代理服务器。然后,您可以订阅感兴趣的主题,并接收来自其他发布者发布的消息。您也可以发布消息到特定的主题,供其他订阅者接收。 paho-mqtt3a.lib 是一个基于 C 语言编写的,可以与多种操作系统兼容。它提供了简单和易于使用的 API,使得开发人员能够轻松地集成 MQTT 功能到他们的应用程序中。 总而言之,paho-mqtt3a.lib 是一个用于实现 MQTT 功能的客户端。它提供了连接到 MQTT 代理服务器、订阅和发布消息的功能,使得设备和应用程序能够方便地与消息代理进行通信。 ### 回答3: paho-mqtt3a.lib 是一个 MQTT 协议客户端的文件。MQTT(Message Queuing Telemetry Transport)是一种轻量级的、开放的通讯协议,用于进行物联网设备之间的通讯。 paho-mqtt3a.lib 是 Paho MQTT 客户端的一个版本Paho MQTT 是由 Eclipse Paho 项目提供的一系列 MQTT 客户端,用于在不同的平台上实现 MQTT 协议的支持。paho-mqtt3a.lib 版本Paho MQTT 客户端的一部分,它是针对第三版本MQTT 协议规范而开发的。 这个文件提供了一些函数和方法,用于在应用程序中连接到 MQTT 代理服务器,并进行发布和订阅消息的操作。通过使用这个,开发者可以方便地实现 MQTT 协议的通讯功能,而不需要关心协议的复杂细节。 paho-mqtt3a.lib 使用需要在开发环境中进行设置和引用。开发者可以将文件添加到他们的项目中,并与其它代码一起编译和构建。在应用程序中,开发者可以调用中的函数和方法来创建 MQTT 客户端实例、连接到服务器、发布和订阅消息等。 总之,paho-mqtt3a.lib 是一个用于实现 MQTT 协议通讯的文件,它简化了 MQTT 客户端的开发过程,并提供了一些方法和函数来支持 MQTT 的功能。它可以在物联网设备的开发中发挥重要的作用,实现设备之间的高效通讯和数据交换。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值