日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

mqtt linux 编译,MQTT客户端代码X64位Ubuntu环境编译+测试实践小结

發布時間:2025/3/21 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mqtt linux 编译,MQTT客户端代码X64位Ubuntu环境编译+测试实践小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://cloud.baidu.com/doc/IOT/IoTdownload.html#.E4.B8.8B.E8.BD.BDMQTT.E7.9B.B8.E5.85.B3

下載MQTT相關:

下載MQTT客戶端代碼示例

C代碼示例:下載MQTT-c壓縮包

//------------------------------------

MQTT-c編譯過程記錄:

編譯流程大體按照MQTT-c文件夾的里頭的"使用說明.txt"文件說明;

具體實踐步驟如下:

1、下載開源代碼 MQTT-c,注意,百度提供的庫文件是基于X86平臺的庫文件,所以編譯時需要用x64位的系統;

root@ubuntu:/home/linux/MQTT-c/lib# uname -a

Linux ubuntu 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux ---------->32位系統

root@Linux-host:/home/MQTT-c/lib# uname -a

Linux Linux-host 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux ---------->64位系統

root@ubuntu:/home/linux/MQTT-c/lib# file libpaho-mqtt3cs.so

libpaho-mqtt3cs.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xa7509e4c0208dca4c2989364c72f1555f79a579f, not stripped

如果不注意庫文件版本與平臺版本不對應的問題,后面用make命令后出現了:

/usr/bin/ld: skipping incompatible......

/usr/bin/ld: cannot find -lpaho-mqtt3cs

的問題,導致編譯失敗;

2、下載百度mqtt服務的pom認證文件[https://cloud.baidu.com/doc/IOT/IoTdownload.html#.E4.B8.8B.E8.BD.BDTLS.E8.AE.A4.E8.AF.81.E6.96.87.E4.BB.B6],把該root_cert.pem文件放入MQTT-c中

3、進入MQTT-c目錄,修改Makefile文件中的LIB_PATH和INCLUDE_PATH路勁如下[假設MQTT-c文件夾放在路徑/home/]

LIB_PATH = /home/MQTT-c/lib

INCLUDE_PATH = /home/MQTT-c/include

執行:make all,生成2個可執行文件pub和sub的可執行文件[PublisherSync和SubscriberSync],見圖“1.編譯完成.jpg”;

查看得知該2個文件也為64位版本:

root@Linux-host:/home/MQTT-c# file PublisherSync

PublisherSync: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x43187a758edceca1cd399ecd77d70649aadede64, not stripped

root@Linux-host:/home/MQTT-c# file SubscriberSync

SubscriberSync: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xbce55aab0f1fad937a531480355586f57ed9a1f6, not stripped

4、把MQTT-c/lib文件夾中的libpaho-mqtt3cs.so.1文件復制到/usb/lib下,不然執行以上2個可執行文件會提示libpaho-mqtt3cs.so.1文件找不到,

直接執行2個可執行文件,檢查可執行文件是否可運行,見“2.文件可執行測試[程序打印出參數說明].jpg”,

./PublisherSync

./SubscriberSync

5、使用如下參數格式的命令,進行具體測試命令[注意:要先sub才能pub]:

pub:./PublisherSync ?ssl://host:port topic message

sub:./SubscriberSync ssl://host:port topic

示例:

SubscriberSyn測試OK[跟百度物接入網頁測試端配合]:

SubscriberSyn測試OK[跟百度物接入網頁測試端配合]:

SubscriberSyn+PublisherSync同一臺機子運行測試OK:

總結

以上是生活随笔為你收集整理的mqtt linux 编译,MQTT客户端代码X64位Ubuntu环境编译+测试实践小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。