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