如何將編譯過的C++庫迅速部署在Visual?Studio新項目中
本文介紹在Visual Studio中,通過屬性表,使得一個新建解決方案中的項目可以快速配置已有解決方案的項目中各類已編譯好的C++第三方庫的方法。
例如,我們現(xiàn)有一個解決方案,其中的一個項目需要調(diào)用Armadillo、OpenCV等多個不同的C++第三方庫;我們也已經(jīng)在這一項目中配置好了所需的各個第三方庫,如下圖所示。
隨后,我們新建了一個解決方案,且這一解決方案中的一個新的項目需要同樣需要調(diào)用前述項目中Armadillo、OpenCV等多個不同的C++第三方庫。如下圖所示,由于此時我們還沒有對新的項目進(jìn)行第三方庫的配置,因此在#include
代碼中會有報錯信息存在。
針對這一新的項目,我們可以參照文章如何在Visual Studio新C++項目中調(diào)用之前配置過的庫?中提及的方法,分別對新項目的附加包含目錄、附加庫目錄與附加依賴項等3個屬性加以配置。然而,這樣手動配置一次還好,如果今后還會有多個新的項目需要配置同樣的第三方庫,那么每一次都手動配置就顯得十分麻煩。因此,我們可以借助Visual Studio中的屬性表,完成這一操作。
首先,我們需要在原有的項目(也就是已經(jīng)配置好各類第三方庫的項目)中,選擇“視圖”→“其他窗口”→“屬性管理器”選項,如下圖所示。
隨后,在“解決方案資源管理器”附近,找到“屬性管理器”,并雙擊項目名稱將其展開;隨后,基于我們代碼需要運行的環(huán)境屬性(比如Release
還是Debug
,Win32
還是x64
),將對應(yīng)的屬性信息展開,并右鍵選擇“添加新項目屬性表...”。如下圖所示,我這里因為希望在Debug
版本的x64
環(huán)境下運行代碼,因此就選擇在這一環(huán)境屬性信息對應(yīng)處右鍵。
這里再提一句,如下圖所示,我們也可以選擇直接在項目名稱處右鍵;但建議大家還是按照實際需求來。
這樣的話,通過我們后續(xù)的操作,就會在每一個環(huán)境屬性信息對應(yīng)的欄目下出現(xiàn)屬性表;如下圖所示。
我們繼續(xù)前述操作。在選擇“添加新項目屬性表”后,會彈出“添加新項”窗口;我們在其中配置.props
格式的屬性表文件的名稱與保存路徑即可。
此時,就可以在Debug
版本的x64
環(huán)境對應(yīng)的一項中,找到我們剛剛創(chuàng)建的屬性表,并雙擊。
隨后,即可彈出屬性表的屬性頁;如下圖所示??梢钥吹?,其實這個屬性表的屬性頁就是我們常用的項目的屬性窗口。
此時我們要做的,就是將原有項目(也就是已經(jīng)配置好各類第三方庫的項目)的附加包含目錄、附加庫目錄與附加依賴項等3個屬性,復(fù)制到屬性表的屬性頁中。這3個屬性的位置具體可以參考文章如何在Visual Studio新C++項目中調(diào)用之前配置過的庫?。
復(fù)制的時候這里也有幾個小技巧。首先,我們可以在打開屬性表的屬性頁(或項目的屬性頁)時,通過切換“解決方案資源管理器”與“屬性管理器”的選中狀態(tài),無縫切換兩個屬性頁窗口。
此外,我們可以在原有項目的附加包含目錄、附加庫目錄中,通過復(fù)制“計算的值”窗口中的內(nèi)容,實現(xiàn)跨行批量復(fù)制,如下圖所示。
然后首先將其復(fù)制到文本文件、Word文檔文件等作為中轉(zhuǎn),再將其逐行粘貼值屬性表的對應(yīng)位置處;下圖即為復(fù)制后的屬性表的附加庫目錄。
而對于附加依賴項,由于其不是一行一行來設(shè)置的,因此復(fù)制起來就更快一些。
完成對附加包含目錄、附加庫目錄與附加依賴項等3個屬性的復(fù)制工作后,一定記得需要在屬性表名稱處右鍵,將其保存。
隨后,我們打開新的項目,也就是待配置第三方庫的項目,同樣打開“屬性管理器”。
隨后,在對應(yīng)的環(huán)境屬性一欄中,右鍵并選擇“添加現(xiàn)有屬性表...”選項。
隨后,找到我們剛剛配置好的.props
格式的屬性表文件,并選擇。
此時,在新項目的屬性管理器中,就可以看到我們的屬性表已經(jīng)導(dǎo)入了。但是,有時可能會出現(xiàn)如下圖所示的情況,即導(dǎo)入屬性表后,新的項目依然無法調(diào)用這些第三方庫。
并且此時雙擊打開屬性表的屬性頁,發(fā)現(xiàn)其中我們剛剛配置的附加包含目錄、附加庫目錄與附加依賴項等3個屬性都還是空白的。
針對這一情況,我們可以首先在新的項目中,在剛剛導(dǎo)入的屬性表名稱處右鍵并選擇“移除”;隨后,將這一新項目所在的解決方案關(guān)閉,并再一次在原有項目中保存屬性表;隨后,將原有項目所在的解決方案關(guān)閉,打開新的項目所在的解決方案,重新導(dǎo)入屬性表。一般情況下,新的項目就可以使用這些第三方庫了。
在今后若有其他新的項目需要配置這些第三方庫,我們就可以直接導(dǎo)入這一屬性表文件,從而實現(xiàn)快速的環(huán)境配置。
至此,大功告成。
到此這篇關(guān)于將編譯過的C++庫迅速部署在Visual Studio新項目中的文章就介紹到這了,更多相關(guān)C++庫部署在Visual Studio內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用標(biāo)準(zhǔn)c++實現(xiàn)string與各種類型之間的轉(zhuǎn)換
這個類在頭文件中定義, < sstream>庫定義了三種類:istringstream、ostringstream和stringstream,分別用來進(jìn)行流的輸入、輸出和輸入輸出操作。另外,每個類都有一個對應(yīng)的寬字符集版本2013-09-09c++ 一個二進(jìn)制串轉(zhuǎn)化為整數(shù)的解決方法
以下是將一個二進(jìn)制串轉(zhuǎn)化為整數(shù)的實例。需要的朋友參考下2013-05-05Visual C++ 常用數(shù)據(jù)類型轉(zhuǎn)換方法詳解
本文純粹是總結(jié)一下有關(guān)類型轉(zhuǎn)換的貼子,需要的朋友可以參考下2017-06-06