QT 用第三方庫來實現MQTT客戶端

2021-09-17 00:26:01 字數 1834 閱讀 9101

編譯原始碼:emqtt/qmqtt

編譯工具:(qt5.8.0 + mingw5.3.0(32bit))

解壓得到:

進入目錄,執行專案檔案:

修改***x.pro:

編譯檔案:

注意-由於是編譯庫檔案,所以沒有exe視窗彈出來,所以會出現下圖情況:

編譯成功則可以在編譯生成的lib中可以看到如下幾個檔案:

編譯完成庫後我們實際使用下:

新建個專案程式:

為新程式新增庫檔案:

>開啟專案所在資料夾,新建include 和 lib兩個資料夾,include用來存放第三方庫的標頭檔案,lib用來存放編譯後的動態庫檔案:

>在編譯後的資料夾lib中找到生成的 xx.a xx.dll 檔案,移動到剛新建的資料夾中.

>在編譯後的資料夾lib中找到生成的兩個 xx.dll 檔案,移動到 ***.exe 執行應用的同一目錄下(為可執行檔案新增動態鏈結庫.dll).

>開啟***.pro 新增如下:

qt += network

includepath += $$pwd/mqtt

win32:config(release, debug|release): libs += -l$$pwd/lib/ -lqmqtt

else:win32:config(debug, debug|release): libs += -l$$pwd/lib/ -lqmqttd

else:unix: libs += -l$$pwd/lib/ -lqmqtt

defines += mqtt_ssl

可以編譯下看是否有錯誤提示。沒有錯誤提示的話環境就設定好了,專案例項:(qt5.8.0 + mingw5.3.0_32bit)

測試內容:

連線**伺服器,斷開連線伺服器,推送訊息,和訂閱訊息

emqtt庫的api簡單介紹:

/blob/master/readme.md

用qt呼叫第三方庫

宣告 事先我已經自己動手寫了乙個簡單的dll檔案 mydll.dll c版介面的。並且用我前兩篇有關dll文章裡面的方法,從dll中匯出了導入庫 lib 檔案,dll中有兩個函式,原型如下 void helloworld 函式內部呼叫win32 api,功能是彈出乙個helloworld提示框 in...

用qt呼叫第三方庫

宣告 事先我已經自己動手寫了乙個簡單的dll檔案 mydll.dll c版介面的。並且用我前兩篇有關dll文章裡面的方法,從dll中匯出了導入庫 lib 檔案,dll中有兩個函式,原型如下 void helloworld 函式內部呼叫win32 api,功能是彈出乙個helloworld提示框 in...

Qt使用第三方庫

src 3rdparty lib bin 上面的資訊在 pro 檔案中提供,以便 qmake 可以解析它並生成 makefiles。makefiles 包含編譯器和鏈結器生成輸出所需的所有資訊,無論它是可執行檔案,另乙個庫檔案等。使用 includepath 變數提供 mylibrary 的 inc...