QT安裝MQTT庫的實(shí)現(xiàn)步驟
前言
- 本文分別介紹了在Windows、Linux(Ubuntu系統(tǒng))、ARM板卡(瑞芯微RK3576)下給QT安裝MQTT庫的步驟。
- 操作(二、三、四)只適用于QT5安裝MQTT庫;操作五用于QT6安裝MQTT庫。
- qmake、cmake、make(注意Windows下make為mingw32-make)使用時候所依賴的文件:
| 指令 | 所需文件 | 說明 |
|---|---|---|
| qmake | .pro文件 | 查看源碼下是否有.pro文件,有.pro文件才能使用qmake(使用方法參看:操作二、三、四) |
| cmake | CMakeLists.txt文件 | 查看源碼下是否有CMakeLists.txt文件,有CMakeLists.txt文件才能使用cmake(使用方法查看:操作六) |
| make | Makefile文件 | 一般執(zhí)行完qmake或cmake后會生成Makefile文件,此時執(zhí)行make即可 |
QT5的MQTT庫使用的是qmake,QT6的MQTT庫已經(jīng)都在使用cmake。
一. 下載QT官方的MQTT源碼
代碼地址:https://gitcode.com/gh_mirrors/qt/qtmqtt/tree/dev
根據(jù)電腦上的QT版本下載MQTT的版本

二. Windows下QT5安裝MQTT庫
2.1 方法1(使用Qt qcreator編譯,然后自行移植)
1.解壓源碼,然把MQTT源碼\src\mqtt文件夾下的.h文件打包到一個QtMqtt的文件下、并把文件夾移動到QT安裝目錄的\mingw73_64\include文件夾里。

2.使用Qt qcreator打開 MQTT源碼下qtmqtt.pro工程文件,并進(jìn)行編譯
3.源碼編譯完成后,將生成的動態(tài)庫和靜態(tài)庫復(fù)制到QT安裝目錄下對應(yīng)存放庫的路徑下
編譯完成會生成一個build-qtmqtt-Desktop_Qt_5_14_2_MinGW_64_bit-Debug的文件夾,主要復(fù)制該文件夾下bin、include、lib、mkspecs文件夾的文件
- bin :主要存放動態(tài)庫
- include :主要存放頭文件
- lib :主要存放靜態(tài)庫
- mkspecs :構(gòu)建規(guī)范文件(有這個文件可以直接在QT的.pro文件中添加mqtt模塊 如:QT += core gui network mqtt)
把bin文件夾下的文件復(fù)制到QT安裝目錄下的mingw73_64\bin文件夾

把include 文件夾下的QtMqtt文件夾復(fù)制到QT安裝目錄下的mingw73_64\include 文件夾,之前復(fù)制的.h文件不要刪

把lib 文件夾下的文件復(fù)制到QT安裝目錄下的mingw73_64\lib 文件夾
lib\cmake文件夾下的QtMqtt文件夾復(fù)制到QT安裝目錄下的mingw73_64\lib\cmake文件夾
lib\pkgconfig文件夾下的文件復(fù)制到QT安裝目錄下的mingw73_64\lib\pkgconfig文件夾
lib文件夾下的libQt5Mqtt.、Qt5Mqtt.prl文件復(fù)制到QT安裝目錄下的mingw73_64\lib文件夾

把mkspecs\modules-inst文件夾下的文件復(fù)制到QT安裝目錄下的mingw73_64\mkspecs\modules文件夾

4.打開并運(yùn)行MQTT自帶的例子(以simpleclient工程為例;工程路徑:MQTT源碼下examples\mqtt\simpleclient文件夾)
在編譯工程時候會報(bào)錯,此時修改一下頭文件即可
#include <QMqttClient> #include <QtMqtt/QMqttClient> //將上面兩個頭文件修改為下面的頭文件 #include <QtMqtt/qmqttclient.h>
編譯成功后,使用MQTT服務(wù)端工具進(jìn)行調(diào)試(MQTT在線工具:http://course.xnkiot.com/tools)


2.2 方法2(使用命令行編譯安裝)
1.先按照2.1 的步驟1把.h文件移動到QT安裝目錄的\5.14.2\mingw73_64\include文件夾里
2.打開MinGW的控制臺

3.進(jìn)入到MQTT源碼的目錄下,然后依次執(zhí)行qmake、mingw32-make、mingw32-make install 指令
qmake、mingw32-make、mingw32-make install 指令的功能
- qmake :構(gòu)建生成Makefile文件
- mingw32-make :根據(jù)Makefile文件編譯源代碼,生成靜態(tài)、動態(tài)庫等目標(biāo)文件
- mingw32-make install :將編譯好的靜態(tài)、動態(tài)庫等目標(biāo)文件復(fù)制到系統(tǒng)的標(biāo)準(zhǔn)安裝目錄中,使其可以被系統(tǒng)使用


4.完成上面操作后,MQTT庫此時已經(jīng)被安裝在QT的安裝目錄下(即完成了2.1 的步驟3的復(fù)制工作),然后按照 2.1 的步驟4進(jìn)行MQTT自帶例子的測試
三. Linux下QT5安裝MQTT庫
3.1 方法1(使用Qt qcreator編譯,然后自行移植)
1.解壓源碼,然把MQTT源碼\src\mqtt文件夾下的.h文件打包到一個QtMqtt的文件下、并把文件夾移動到QT安裝目錄的\gcc_64\include文件夾.

2.使用Qt qcreator打開 MQTT源碼下qtmqtt.pro工程文件,并進(jìn)行編譯
3.源碼編譯完成后,將生成的動態(tài)庫和靜態(tài)庫復(fù)制到QT安裝目錄下對應(yīng)存放庫的路徑下
編譯完成會生成一個build-qtmqtt-Desktop_Qt_5_14_2_GCC_64bit-Debug的文件夾,主要復(fù)制該文件夾下bin、include、lib、mkspecs文件夾的文件
- Linux系統(tǒng)下編譯后,bin是空的,所以不用復(fù)制
- 把include 文件夾下的QtMqtt文件夾復(fù)制到QT安裝目錄下的\gcc_64\include 文件夾,之前復(fù)制的.h文件不要刪
- 把lib 文件夾下的文件復(fù)制到QT安裝目錄下的\gcc_64\lib 文件夾

把mkspecs\modules-inst文件夾下的文件復(fù)制到QT安裝目錄下的\gcc_64\mkspecs\modules文件夾
4.按照 2.1 的步驟4進(jìn)行MQTT自帶例子的測試
3.2 方法2(使用命令行編譯安裝)
1.先按照3.1 的步驟1把.h文件移動到QT安裝目錄的\gcc_64\include文件夾里
2.進(jìn)入到MQTT源碼的目錄下,然后依次執(zhí)行qmake、make、make install 指令

3.完成上面操作后,MQTT庫此時已經(jīng)被安裝在QT的安裝目錄下(即完成了3.1 的步驟3的復(fù)制工作),然后按照 2.1 的步驟4進(jìn)行MQTT自帶例子的測試
四. ARM板卡(RK3576)下QT5安裝MQTT庫
4.1 安裝QT5的基本庫
1.QT的安裝
- qtbase5-dev :包含qt最基礎(chǔ)的類庫
- qtbase5-dev-tools :開發(fā)qt時所用到的工具
- qt5-qmake :安裝qmake
一般在安裝qtbase5-dev庫時候會自動安裝qtbase5-dev-tools 、qt5-qmake,為防止意外也再安裝一下這兩個庫。
apt-get install qtbase5-dev qtbase5-dev-tools qt5-qmake
2.QT的安裝路徑
QT安裝成功后,在開發(fā)板上QT的安裝路徑會不一樣,下面是QT主要的文件安裝路徑:
- bin路徑:
/usr/lib/aarch64-linux-gnu/qt5/bin - lib路徑:
/usr/lib/aarch64-linux-gnu - include路徑:
/usr/include/aarch64-linux-gnu/qt5
4.2 安裝QT5的MQTT庫
建議安裝5.14版本以上的MQTT庫,我安裝的是5.14.2(低版本的可能會有某些函數(shù)不能使用)。
這里使用的是直接編譯安裝的方法,不用使用移植的方法,移植的方法在這里比較麻煩。
1.先按照3.1 的步驟1把.h文件移動到QT安裝目錄的/usr/include/aarch64-linux-gnu/qt5文件夾里
2.進(jìn)入到MQTT源碼的目錄下,然后依次執(zhí)行下面指令(執(zhí)行過程中會有警告,忽略即可)。
# 生成編譯環(huán)境 qmake # 編譯 make # 安裝 sudo make install
3.MQTT庫安裝成功后,會在/usr/lib/aarch64-linux-gnu下生成庫文件。

4.完成上面操作后,MQTT庫此時已經(jīng)被安裝在QT的安裝目錄下,然后按照 2.1 的步驟4進(jìn)行MQTT自帶例子的測試
五. Linux下QT6安裝MQTT庫
1.在linux下完成QT6的安裝(本操作使用的是:QT6.8.3)。
安裝QT6的時候記得安裝QT6自帶的cmake,Linux系統(tǒng)自帶的cmake可能版本太低,導(dǎo)致編譯不成功。

2.請按照操作一,下載QT6相應(yīng)版本的MQTT源碼。
3.把源碼拷貝到Linux下,進(jìn)行下面的操作
# 1.進(jìn)入mqtt源碼目錄 cd qtmqtt-6.8.3/ ? # 2.創(chuàng)建build目錄 mkdir build ? # 3.進(jìn)入build目錄 cd build ? # 4.設(shè)置環(huán)境變量,告訴 CMake 在哪里查找 Qt6(下面的路徑根據(jù)實(shí)際情況修改) export CMAKE_PREFIX_PATH=/home/topeet/Qt/6.8.3/gcc_64/ ? # 5.使用cmake生成編譯環(huán)境(使用QT6自帶的cmake,Linux系統(tǒng)自帶的cmake可能版本太低,可能導(dǎo)致編譯不成功) /home/topeet/Qt/Tools/CMake/bin/cmake .. ? # 6.使用make進(jìn)行編譯 make ? # 7.使用 make install進(jìn)行自動安裝(安裝完成后到QT6安裝目錄下查找MQTT庫,若沒找到MQTT庫,請執(zhí)行下面的復(fù)制步驟) make install
4.若make install 安裝不能用,請然后按照3.1的步驟3進(jìn)行復(fù)制即可,需要復(fù)制的文件都在build目錄下。
5.完成上面操作后,MQTT庫此時已經(jīng)被安裝在QT的安裝目錄下,按照 2.1 的步驟4進(jìn)行MQTT自帶例子的測試
到此這篇關(guān)于QT安裝MQTT庫的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)QT安裝MQTT 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C/C++實(shí)現(xiàn)遍歷文件夾最全方法總結(jié)
這篇文章主要為大家介紹了C/C++實(shí)現(xiàn)遍歷文件夾功能的最全方法總結(jié),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-09-09
詳解C++的JSON靜態(tài)鏈接庫JsonCpp的使用方法
這篇文章主要介紹了C++的JSON靜態(tài)鏈接庫JsonCpp的使用方法,演示了使用JsonCpp生成和解析JSON的方法,以及C++通過JSON方式的socket通信示例,需要的朋友可以參考下2016-03-03
C語言實(shí)現(xiàn)大數(shù)據(jù)文件的內(nèi)存映射機(jī)制
這篇文章主要介紹了C語言實(shí)現(xiàn)大數(shù)據(jù)文件的內(nèi)存映射機(jī)制的相關(guān)資料,需要的朋友可以參考下2017-01-01
C++中用new創(chuàng)建二維數(shù)組和指針數(shù)組實(shí)例代碼
這篇文章主要介紹了C++中用new創(chuàng)建二維數(shù)組和指針數(shù)組實(shí)例代碼,非常不錯,具有參考借鑒價(jià)值,需要的朋友參考下2017-03-03
C++算法之海量數(shù)據(jù)處理方法的總結(jié)分析
本篇文章是對海量數(shù)據(jù)處理方法進(jìn)行了詳細(xì)的總結(jié)與分析,需要的朋友參考下2013-05-05

