VS2017和Qt5 12中呼叫外部庫的一些心得

2021-09-03 07:24:29 字數 2092 閱讀 7603

呼叫別人寫的外部庫,大體上分兩個步驟:

其真正的核心就在於編譯器,編譯器是個大傻瓜,你不告訴它你的***.h檔案和***.lib檔案在**,它就不知道去**找,所以我們的核心就是告訴編譯器去**找我們***.h檔案和***.lib檔案。

當然你可以選擇直接在你的ide下使用如下語句將***.h檔案包含到你的工程下,

#include "外部標頭檔案的絕對路徑/***.h"
使用如下語句將***.lib也弄到你的工程中:

#pragma comment(lib,"外部庫檔案的絕對路徑/***.lib")
但是這樣對於像我這樣有點小小的強迫症的人來說實在是不開心,我們希望去掉那個外部標頭檔案的絕對路徑,直接使用如下語句:

#include "***.h"

#pragma comment(lib,"***.lib")

就能將標頭檔案和lib檔案弄進來。

所以我們需要告訴我們的編譯器,***.h和***.lib的絕對路徑在**,以便讓它能夠找到它們。

雖然就是這兩步,但在不同的ide下卻有些地方需要真正弄明白,才不至於在以後的程式設計中使自己困惑。下面結合進行記錄說明。

首先外部庫一般都有如下結構:

include目錄和lib目錄

一、vs2017下

這一步告訴你的編譯器你的***.h檔案在哪個路徑下。

這一步告訴你的編譯器你的***.lib在哪個目錄下。

最後就是把***.lib弄進來了,你可以有兩種選擇:

第一種:使用如下指令

#pragma comment(lib,"***.lib")
第二種:直接在ide上弄,如下圖

二、qt5.12下

這一步告訴你的編譯器你的***.lib在哪個目錄下。

最後就是把***.lib弄進來了,你可以有兩種選擇:

第一種:使用如下指令

#pragma comment(lib,"***.lib")
第二種:我在qt上還沒有發現,o(∩_∩)o哈哈~

總結:所以推薦使用第一種用指令的方式引入,這樣,既能弄清楚原理,又能訓練自己的能力。

不管是什麼ide,歸根結底還是開始的兩步;

(就是為了讓編譯器找到它們的具體位置,你才得去配置它們,編譯器真是個大傻瓜,你說未來的電腦會不會像我們人類一樣自動去搜尋它不知道的東西呢.......o(∩_∩)o哈哈~)

以上是我在配置opengl中遇到的小「驚喜」,此外我還遇到了乙個問題,就是在qt下使用glfw3.lib的問題,如下圖:

glfw的lib下目錄結構:

使用glfw3.lib會報一大堆問題.......(這個問題在vs2017下不會出現)

當我使用glfw3dll.lib就不會有問題了

真是詭異....... 

QT 5 12和有道詞典衝突

如果你用的qt版本是5.12 其他版本還沒有驗證過 那麼建議你在開發的時候最好不要開啟有道詞典。在使用qt designer時,如果開啟了有道詞典,會導致qt designer崩潰。寫的qt應用程式如果包含qtreeview或者qtreewidget等跟樹相關的組建時,如果開啟了有道詞典,滑鼠移到樹...

vs2017 配置QT環境

安裝也很簡單,主要是第二部,要求登入,可以直接skip,然後再選擇第一項中,開啟下拉 勾選vs2017 64位 這個根據你的專案和安裝的vs版本選擇 安裝後,在qt tools qtcreator bin 中開啟qtcreator 來建立專案。qt vsaddin msvc2017 2.3.0 這種...

VS2017中新增QWebEngineView模組

開發環境 qt 5.9.0 vs2017 vs2017 在生成新的工程時,會預設帶了一些模組。如果新增新的模組如何操作呢?目前就新增 qwebengineview 模組為例。在生成新的工程時預設帶的模組,裡面沒有qwebenginewidget模組,所以需要自己手動配置 圖一 第一步 中新增 qwe...