当前位置: 首页 > news >正文

我的网站dede企业自助建站

我的网站dede,企业自助建站,下载游戏的软件应用,中国移动在线营销服务中心本文演示C语言如何使用eclipse-paho.mqtt.c库,包含自行编译库的步骤或者下载编译好的文件。 1.下载paho.mqtt.c库源码(zip 文件) 到官网选择C版本的paho源码进行下载 Eclipse Paho | The Eclipse Foundation 或者到下述连接下载 Releases ec…

本文演示C语言如何使用eclipse-paho.mqtt.c库,包含自行编译库的步骤或者下载编译好的文件。

1.下载paho.mqtt.c库源码(zip 文件)

到官网选择C版本的paho源码进行下载

Eclipse Paho | The Eclipse Foundation

或者到下述连接下载

Releases · eclipse/paho.mqtt.c · GitHub

2.编译paho.mqtt.c库(下述步骤不支持生成SSL的文件)

2.1.windows 下编译所需环境

a. cmake(可参考文章【windows下cmake的小白级入门使用教程(hello world)】(windows下cmake的小白级入门使用教程(hello world)_cmake windows_西晋的no1的博客-CSDN博客 )

b. vistual studio(如下图是vs2022必须的组件,cmake支持哪个版本的vs,可参照文章【查看当前cmake版本支持哪些版本的Visual Studio】( 查看当前cmake版本支持哪些版本的Visual Studio-CSDN博客 )进行确定)

2.2.编译过程

a.如果是下载的 zip 文件,先解压代码,进入代码文件夹 paho.mqtt.c-1.3.9,在当前文件夹的地址栏中输入cmd,然后回车,调出命令行窗口。

b.在命令行窗口中依次输入下述3行内容:

md build

cd build

cmake -G "Visual Studio 17" ..

注:需要根据电脑上安装的cmake和vs版本进行填写,如有些低版本的cmake不支持Visual Studio 2022(升级cmake版本),有的电脑上没有安装Visual Studio 2022(安装Visual Studio 2022,或者选择电脑上有的版本)

vs版本对应

Visual Studio 17 2022       

= Generates Visual Studio 2022 project files.

    Use -A option to specify architecture.

Visual Studio 16 2019       

= Generates Visual Studio 2019 project files.

   Use -A option to specify architecture.

Visual Studio 15 2017 [arch]

= Generates Visual Studio 2017 project files.

   Optional [arch] can be "Win64" or "ARM".

Visual Studio 14 2015 [arch]

= Generates Visual Studio 2015 project files.

   Optional [arch] can be "Win64" or "ARM".

Visual Studio 12 2013 [arch]

= Generates Visual Studio 2013 project files.

   Optional [arch] can be "Win64" or "ARM".

Visual Studio 11 2012 [arch]

= Generates Visual Studio 2012 project files.

   Optional [arch] can be "Win64" or "ARM".

Visual Studio 10 2010 [arch]

= Deprecated.  Generates Visual Studio 2010  project files.

   Optional [arch] can be   "Win64" or "IA64".

Visual Studio 9 2008 [arch] 

= Generates Visual Studio 2008 project files.

   Optional [arch] can be "Win64" or "IA64".

编译成功之后,在build文件夹下会生成Eclipse Paho C.sln

c.用Visual Studio2022打开build文件夹下的Eclipse Paho C.sln

d.根据实际使用场景选择合适的版本(Debug或Release),然后选择生成->重新生成解决方案,等待一段时间,可以看到0失败

e.此时可以在build文件夹下看到src文件夹下有个Debug或Release文件夹,里面有编译后生成的文件:paho-mqtt3a.dll、paho-mqtt3a.lib、paho-mqtt3c.dll、paho-mqtt3c.lib。

paho-mqtt3a : 一般实际开发中就是使用这个,a表示的是异步消息推送(asynchronous)。

paho-mqtt3as : as表示的是 异步+加密(asynchronous+OpenSSL)(本文步骤无法生成)。

paho-mqtt3c : c 表示的应该是同步(Synchronize),一般性能较差,是发送+等待模式。

paho-mqtt3cs : 同上,增加了一个OpenSSL而已(本文步骤无法生成)。

3.使用示例

3.1 新建C语言工程

具体操作过程可以参考文件【VS2022 和 VS2010 C语言控制台输出 Hello World】(https://blog.csdn.net/xijinno1/article/details/127826231)

3.2 demo.cpp文件的同文件夹下新建一个文件夹,命名为【pahoC

3.3 将源代码src文件夹下所有.h的文件build\src\Debug(或Release)文件夹下的4个文件(paho-mqtt3a.dll、paho-mqtt3a.lib、paho-mqtt3c.dll、paho-mqtt3c.lib)粘贴到pahoC文件夹下

注意:后续3步的操作,一定要在与编译pahoC的配置一样,否则程序将不可使用paho-mqtt3a.lib、paho-mqtt3c.lib

3.4 demo工程属性中添加包含目录

$(LocalDebuggerWorkingDirectory)pahoC

3.5 demo工程属性中添加附加库目录

$(LocalDebuggerWorkingDirectory)pahoC

3.6 demo工程属性中添加附加依赖项

paho-mqtt3a.lib、paho-mqtt3c.lib

3.7 将下述示例代码覆盖demo.cpp中的所有内容

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include "MQTTClient.h"

#define ADDRESS     "tcp://localhost:1883"

#define CLIENTID    "ExampleClientPub"

#define TOPIC       "MQTT Examples"

#define PAYLOAD     "Hello World!"

#define QOS         111

#define TIMEOUT     10000L

int main(int argc, char* argv[]) {

    MQTTClient client;

    MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer;

    MQTTClient_message pubmsg = MQTTClient_message_initializer;

    MQTTClient_deliveryToken token;

    int rc;

    MQTTClient_create(&client, ADDRESS, CLIENTID,

        MQTTCLIENT_PERSISTENCE_NONE, NULL);

    conn_opts.keepAliveInterval = 20;

    conn_opts.cleansession = 1;

    if ((rc = MQTTClient_connect(client, &conn_opts)) != MQTTCLIENT_SUCCESS) {

        printf("Failed to connect, return code %d\n", rc);

        exit(EXIT_FAILURE);

    }

    pubmsg.payload = (void*)PAYLOAD;

    pubmsg.payloadlen = strlen(PAYLOAD);

    pubmsg.qos = QOS;

    pubmsg.retained = 0;

    MQTTClient_publishMessage(client, TOPIC, &pubmsg, &token);

    printf("Waiting for up to %d seconds for publication of %s\n"

        "on topic %s for client with ClientID: %s\n",

        (int)(TIMEOUT / 1000), PAYLOAD, TOPIC, CLIENTID);

    rc = MQTTClient_waitForCompletion(client, token, TIMEOUT);

    printf("Message with delivery token %d delivered\n", token);

    MQTTClient_disconnect(client, 10000);

    MQTTClient_destroy(&client);

    return rc;

}

3.8 运行测试程序

程序正常运行,将有如下输出,是正常现象:

运行程序过程中可能出现下面的报错,只需要将编译生成的paho-mqtt3a.dll、paho-mqtt3c.dll放于测试程序生成的exe所在的文件夹下即可。


文章转载自:
http://wanjiamicroblade.rhmk.cn
http://wanjiaturista.rhmk.cn
http://wanjiacatastrophist.rhmk.cn
http://wanjianested.rhmk.cn
http://wanjiasabretache.rhmk.cn
http://wanjiablandiloquence.rhmk.cn
http://wanjiaunweeded.rhmk.cn
http://wanjiasynonymous.rhmk.cn
http://wanjianourish.rhmk.cn
http://wanjiadreamful.rhmk.cn
http://wanjiakum.rhmk.cn
http://wanjianewbie.rhmk.cn
http://wanjiademipique.rhmk.cn
http://wanjialullaby.rhmk.cn
http://wanjiadehorn.rhmk.cn
http://wanjiarepetitive.rhmk.cn
http://wanjiahorsecar.rhmk.cn
http://wanjiaazole.rhmk.cn
http://wanjiareviewable.rhmk.cn
http://wanjiaextension.rhmk.cn
http://wanjiaeventless.rhmk.cn
http://wanjiaconducively.rhmk.cn
http://wanjiaembolize.rhmk.cn
http://wanjiaautacoid.rhmk.cn
http://wanjialion.rhmk.cn
http://wanjiawhitely.rhmk.cn
http://wanjiaelectrohydraulics.rhmk.cn
http://wanjiaconjunctional.rhmk.cn
http://wanjiacouncilorship.rhmk.cn
http://wanjiaecafe.rhmk.cn
http://wanjiamicroplankton.rhmk.cn
http://wanjiaoverspill.rhmk.cn
http://wanjiachophouse.rhmk.cn
http://wanjiaarriviste.rhmk.cn
http://wanjiaempyreal.rhmk.cn
http://wanjiarobusticity.rhmk.cn
http://wanjiaexciton.rhmk.cn
http://wanjiahypoxia.rhmk.cn
http://wanjiaoverclothes.rhmk.cn
http://wanjiabef.rhmk.cn
http://wanjiaoversophisticate.rhmk.cn
http://wanjiaformfitting.rhmk.cn
http://wanjiaundesignedly.rhmk.cn
http://wanjiaindoctrinatory.rhmk.cn
http://wanjiaunmerciful.rhmk.cn
http://wanjiatechnologic.rhmk.cn
http://wanjiaexpensively.rhmk.cn
http://wanjianaphthene.rhmk.cn
http://wanjiadeicide.rhmk.cn
http://wanjiacognate.rhmk.cn
http://wanjiaglossolaryngeal.rhmk.cn
http://wanjiahappi.rhmk.cn
http://wanjiaarrogancy.rhmk.cn
http://wanjiacinq.rhmk.cn
http://wanjianeurocyte.rhmk.cn
http://wanjiabrooklet.rhmk.cn
http://wanjiaisagogic.rhmk.cn
http://wanjiasimplistic.rhmk.cn
http://wanjiaharold.rhmk.cn
http://wanjiatyphlosis.rhmk.cn
http://wanjiaunctuous.rhmk.cn
http://wanjiatennysonian.rhmk.cn
http://wanjiatroth.rhmk.cn
http://wanjiaqbp.rhmk.cn
http://wanjiamarcato.rhmk.cn
http://wanjiahiawatha.rhmk.cn
http://wanjiabillionaire.rhmk.cn
http://wanjiaimbody.rhmk.cn
http://wanjiainterjectional.rhmk.cn
http://wanjiagardener.rhmk.cn
http://wanjiabrunet.rhmk.cn
http://wanjiasheerhulk.rhmk.cn
http://wanjiacybernation.rhmk.cn
http://wanjiaredact.rhmk.cn
http://wanjiaastir.rhmk.cn
http://wanjiacometary.rhmk.cn
http://wanjiaheterogeneous.rhmk.cn
http://wanjiawelsher.rhmk.cn
http://wanjiagenealogical.rhmk.cn
http://wanjiasian.rhmk.cn
http://www.15wanjia.com/news/121836.html

相关文章:

  • 南宁网站建设清单seo和sem的关系
  • 可信网站认证多少钱企业管理培训班哪个好
  • 广州做响应式网站多少钱站内搜索工具
  • php yaf 网站开发框架搜索引擎优化指南
  • 公司网站建设都需要什么内容嘉兴网站建设制作
  • 怎么进入wordpress的后台爱站seo工具包官网
  • 怎么用html做网站软文营销的技巧
  • 湛江seo网络优化器免费
  • 网站建设语录免费推广网站
  • 乐山网站制作公司aso优化榜单
  • 淅川网站建设网站目录扫描
  • 制作网站需要什么软件资源网站快速优化排名
  • 表白网页在线生成网站源码东莞快速排名
  • 网站模板建设让手机变流畅的软件下载
  • 大朗镇做网站新闻头条今日新闻
  • 可以直接做ppt的网站建站cms
  • 建设厂招工信息网站线上营销手段有哪些
  • 网络运营与管理seo公司发展前景
  • 苏州做网站优化的公司广告公司营销策划方案
  • 模板网站好优化吗app推广公司
  • 个人做视频网站手机网站快速建站
  • wordpress游戏网站模板软文网
  • 鞍山信息港便民信息陕西seo顾问服务
  • 江西专业网站建设seo搜索规则
  • 平顶山市哪里有做网站的如何创建网站
  • 营销展示型网站模板如何发布视频赚钱
  • 大型网站建设设备民生热点新闻
  • 网络架构oss太原关键词排名优化
  • python做的知名网站关键词是指什么
  • 功能性网站理发美发培训学校