您現在的位置是:首頁 > 單機遊戲首頁單機遊戲
Visual Studio基於已有專案為新專案配置第三方庫:屬性表
- 2023-01-02
掏樁芯的工具叫什麼
本文介紹在
Visual Studio
中,透過屬性表,使得一個
新建解決方案中的專案
可以快速配置
已有解決方案的專案
中各類已編譯好的
C++
第三方庫的方法。
例如,我們現有一個
解決方案
,其中的一個
專案
需要呼叫
Armadillo
、
OpenCV
等多個不同的
C++
第三方庫;我們也已經在這一
專案
中配置好了所需的各個第三方庫,如下圖所示。
隨後,我們新建了一個
解決方案
,且這一
解決方案
中的一個新的
專案
需要同樣需要呼叫前述
專案
中
Armadillo
、
OpenCV
等多個不同的
C++
第三方庫。如下圖所示,由於此時我們還沒有對新的
專案
進行第三方庫的配置,因此在
#include
程式碼中會有報錯資訊存在。
針對這一新的
專案
,我們可以以下文章
中提及的方法,分別對新專案的
附加包含目錄
、
附加庫目錄
與
附加依賴項
等3個屬性加以配置。
Visual Studio呼叫C++已配置好的第三方庫
然而,這樣手動配置一次還好,如果今後還會有多個新的
專案
需要配置同樣的第三方庫,那麼每一次都手動配置就顯得十分麻煩。因此,我們可以藉助
Visual Studio
中的
屬性表
,完成這一操作。
首先,我們需要在
原有的專案
(也就是已經配置好各類第三方庫的專案)中,選擇“
檢視
”→“
其他視窗
”→“
屬性管理器
”選項,如下圖所示。
隨後,在“
解決方案資源管理器
”附近,找到“
屬性管理器
”,並雙擊專案名稱將其展開;隨後,基於我們程式碼需要執行的環境屬性(比如
Release
還是
Debug
,
Win32
還是
x64
),將對應的屬性資訊展開,並右鍵選擇“
新增新專案屬性表…
”。如下圖所示,我這裡因為希望在
Debug
版本的
x64
環境下執行程式碼,因此就選擇在這一環境屬性資訊對應處右鍵。
這裡再提一句,如下圖所示,我們也可以選擇直接在專案名稱處右鍵;但建議大家還是按照實際需求來。
這樣的話,透過我們後續的操作,就會在每一個環境屬性資訊對應的欄目下出現屬性表;如下圖所示。
我們繼續前述操作。在選擇“
新增新專案屬性表
”後,會彈出“
新增新項
”視窗;我們在其中配置
。props
格式的屬性表文件的名稱與儲存路徑即可。
此時,就可以在
Debug
版本的
x64
環境對應的一項中,找到我們剛剛建立的屬性表,並雙擊。
隨後,即可彈出屬性表的屬性頁;如下圖所示。可以看到,其實這個
屬性表的屬性頁
就是我們常用的
專案的屬性視窗
。
此時我們要做的,就是將
原有專案
(也就是已經配置好各類第三方庫的專案)的
附加包含目錄
、
附加庫目錄
與
附加依賴項
等3個屬性,複製到
屬性表的屬性頁
中。這3個屬性的位置具體可以參考前文提及的文章
。
複製的時候這裡也有幾個小技巧。首先,我們可以在開啟
屬性表的屬性頁
(或
專案的屬性頁
)時,透過切換“
解決方案資源管理器
”與“
屬性管理器
”的選中狀態,無縫切換兩個屬性頁視窗。
此外,我們可以在原有專案的
附加包含目錄
、
附加庫目錄
中,透過複製“
計算的值
”視窗中的內容,實現跨行批次複製,如下圖所示。
然後首先將其複製到文字檔案、
Word
文件檔案等作為中轉,再將其逐行貼上值屬性表的對應位置處;下圖即為複製後的屬性表的
附加庫目錄
。
而對於
附加依賴項
,由於其不是一行一行來設定的,因此複製起來就更快一些。
完成對
附加包含目錄
、
附加庫目錄
與
附加依賴項
等3個屬性的複製工作後,一定記得需要在
屬性表
名稱處右鍵,將其儲存。
隨後,我們開啟
新的專案
,也就是待配置第三方庫的專案,同樣開啟“
屬性管理器
”。
隨後,在對應的環境屬性一欄中,右鍵並選擇“
新增現有屬性表…
”選項。
隨後,找到我們剛剛配置好的
。props
格式的屬性表文件,並選擇。
此時,在
新專案
的屬性管理器中,就可以看到我們的屬性表已經匯入了。但是,有時可能會出現如下圖所示的情況,即匯入屬性表後,新的專案依然無法呼叫這些第三方庫。
並且此時雙擊開啟屬性表的屬性頁,發現其中我們剛剛配置的
附加包含目錄
、
附加庫目錄
與
附加依賴項
等3個屬性都還是空白的。
針對這一情況,我們可以首先在
新的專案
中,在剛剛匯入的
屬性表名稱處
右鍵並選擇“
移除
”;隨後,將這一
新專案所在的解決方案
關閉,並再一次在
原有專案
中儲存
屬性表
;隨後,將原
有專案所在的解決方案
關閉,開啟
新的專案所在的解決方案
,重新匯入
屬性表
。一般情況下,新的專案就可以使用這些第三方庫了。
在今後若有其他新的專案需要配置這些第三方庫,我們就可以直接匯入這一屬性表文件,從而實現快速的環境配置。
至此,大功告成。
想了解更多精彩內容,快來關注瘋狂學習GIS