QtCreator 跨平臺開發新增動態庫教程(以OpenCV庫舉例)- Windows篇

Orientals發表於2024-05-23

  Qt具有跨平臺的特性,即Qt資料結構與演算法庫本身跨平臺和編譯指令碼(.pro)跨平臺。在同時具有Windows下和Linux開發的需求時,最好的建議是使用QtCreator來開發,雖然也可以使用其他的IDE配合CMake等方式,但使用QtCreator更加方便,並且操作環境完全一致。QtCreator支援Windows、Linux、MacOS下安裝。

Windows平臺下新增動態庫

VisualStudio新增動態庫(順便一提)

  Windows使用VS開發動態庫時會同時生成動態庫檔案(.dll)與靜態庫(.lib),.lib只是為配合編譯使用,執行時主要依賴.dll檔案。

  使用動態庫時,即使有了.h標頭檔案與.dll檔案,在開發時仍然要將.lib檔案配置進VS庫檔案中一起編譯

  配置方式:開啟VS,右鍵專案開啟屬性

       1.VC++目錄——》庫目錄——》新增.lib目錄

       2.聯結器——》輸入——》新增xxx.lib

  執行時將.dll檔案與.exe放在同一目錄下即可

QtCreator pro檔案新增dll動態庫:

  1.首先建議使用:

  右鍵專案——》新增庫——》外部庫——》

  進入新增庫Details介面後,配置方式:

  1.庫檔案:選擇你要新增的動態庫搭配的靜態庫(.lib)檔案。

  2.包含路徑:動態庫的介面即.h標頭檔案所在的目錄,注意是所在目錄不是把.h檔案本身新增進去  例如OpenCV:庫檔案:/xxx/xxx/lib/opencv_world420.lib  包含路徑:/xxx/xxx/include/

  3.平臺:可以去掉勾選Linux和Mac,或者全部去掉,這個主要是標記當前新增的動態庫支援哪些平臺下編譯

  4.點選下一步——》完成

  2.點選完成後,雙擊開啟專案pro檔案,會出現下圖  

  (我這裡是直接把OpenCV放入了專案結構中,所以使用的相對路徑,如果你是單獨安裝的OpenCV建議使用絕對路徑,其他庫也是一樣。或是加入到環境變數裡,QtCreator會自動遍歷系統環境變數

  LIBS:這個就是新增的庫檔案,不會顯示.lib字尾

  INCLUDEPATH:這個是標頭檔案路徑

  DEPENDPATH:依賴目錄,這裡是在找不到標頭檔案的情況下編譯會在這個目錄查詢

  3.確認pro檔案新增進入後

  右鍵專案——》清除——》qmake——》構建

  最後:執行時將.dll檔案與.exe放在同一目錄下,編譯沒有錯誤即透過!

有問題歡迎留言,Linux篇請看下一章教程

 

相關文章