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

本文详细介绍了如何在Windows环境下编译和安装PAHO-MQTT库的C和C++版本。首先,你需要下载源代码和openssl。接着,通过提供的脚本进行编译,分别针对C和C++版本。在C版本编译后,使用C++版本的脚本需要确保C库已编译完成。最后,正确引用库文件和DLL,以便在项目中使用。

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

前言

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 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值