vs中c++项目的配置
首先,我們一般不會(huì)修改解決方案的屬性,而是設(shè)置每個(gè)項(xiàng)目各自的屬性.
接著上一篇文章,我們來(lái)看看我們應(yīng)該怎樣來(lái)設(shè)置各項(xiàng)目的項(xiàng)目屬性更好:
我們以NYOJ_001項(xiàng)目的Debug版的設(shè)置為例:
在常規(guī)選項(xiàng)里,我們一般會(huì)設(shè)置輸出目錄(即生成.exe文件的目錄),中間目錄(即中間文件的目錄)。當(dāng)然你也可以在這里設(shè)置生成的.exe文件的文件名甚至擴(kuò)展名等。
如下圖所示:
一般設(shè)置如下的目錄:如果不記得某個(gè)宏變量的值,可以點(diǎn)擊“宏(M)>>”來(lái)查看。
既然我們修改了輸出文件的目錄,那我們也必須修改我們的調(diào)試目錄,不然就無(wú)法調(diào)試了。不信你運(yùn)行一下試試,雖然編譯通過(guò)了,但并沒(méi)像你想的那樣出現(xiàn)控制臺(tái)的“黑窗口”,原因就是我們沒(méi)有修改調(diào)試目錄:
將調(diào)試目錄修改為$(OutDir)就可以了,$(OutDir)就是我們之前在常規(guī)里設(shè)置的輸出文件的目錄:
這里面的命令參數(shù)一項(xiàng)也是比較重要的,如果你開(kāi)發(fā)的是一個(gè)帶有命令行參數(shù)的項(xiàng)目,你調(diào)試的時(shí)候就可以在這里設(shè)置傳給程序的命令行參數(shù)來(lái)進(jìn)行調(diào)試了。你是否還記得你運(yùn)行一個(gè)帶有命令行參數(shù)的程序時(shí)是出現(xiàn)一個(gè)黑框框然后馬上就消失了,什么也不會(huì)做,除非你是將該程序拖到命令提示符下運(yùn)行。
這些設(shè)置完后,可以先編譯運(yùn)行一下程序,結(jié)果如下所示:
程序可以正常調(diào)試,還會(huì)在解決方案的根目錄下生成我們?cè)O(shè)置的輸出文件的目錄:Win32\Debug\Bin,生成的.exe文件就在該目錄下。還有中間文件目錄:Win32\Debug\XXX,里面放的都是生成的中間文件。如果你的這個(gè)項(xiàng)目里用到了其他的庫(kù),你還需要像下面這樣設(shè)置你的項(xiàng)目的附加包含目錄和附加庫(kù)目錄:前都是設(shè)置其他庫(kù)的.h頭文件的目錄,一般放在庫(kù)的include文件夾下。后者是設(shè)置其他庫(kù)的lib以及.dll鏈接庫(kù)的目錄,一般放在庫(kù)的lib下。如下:
最后你還必須設(shè)置項(xiàng)目的附加依賴項(xiàng)的值:一般設(shè)置的就是xx.lib靜態(tài)鏈接庫(kù)的名稱
好了,所有必須設(shè)置的都已經(jīng)設(shè)置完成了。
下面還有一個(gè)非常有用的設(shè)置,我們知道當(dāng)我們的程序使用在其他的庫(kù)的dll文件時(shí),在程序的當(dāng)前目錄或環(huán)境變量指定的目錄中必須能夠找得到這些.dll文件,即現(xiàn)在我們打開(kāi).exe文件所在的Bin文件夾,雙擊運(yùn)行程序,除非你設(shè)置了所依賴的dll的環(huán)境變量,否則程序仍然無(wú)法運(yùn)行,因?yàn)槌绦驘o(wú)法找到dll模塊。你可以手動(dòng)把這些.dll拷貝到.exe文件所在的文件夾,但現(xiàn)在有一個(gè)更好的辦法,如下圖:
我們可以在上面的命令行中填寫(xiě)我們?cè)谥匦律赏瓿绦蚝?#xff0c;執(zhí)行的命令。我們可以在這里使用copy命令,來(lái)將程序需要的.dll文件自動(dòng)拷貝到.exe文件所在的目錄。當(dāng)然,在這里你可以做更多的事情,比如如果你的程序需要讀取配置文件,你也可以把配置文件拷貝過(guò)來(lái)等。
最后,把配置由Debug改變Release再將Release下的所有這些設(shè)置重新設(shè)置成Debug相同的就可以了。
路徑推薦使用編譯器提供給我們的宏變量,而盡量不要使用絕對(duì)的名稱,這樣程序更具有移植性。例如,如果某外部庫(kù)的目錄為Win32\Debug與Win32\Release或Win64\Debu與Win64\Release。這樣我們使用$(Platform)\$(Configuration)進(jìn)行設(shè)置的時(shí)候就不需要再去管什么平臺(tái)以及是Debug還是Release版本。因?yàn)榫幾g器會(huì)自動(dòng)為我們切換,當(dāng)選擇Debug進(jìn)行編譯時(shí),編譯器會(huì)自動(dòng)鏈接到Debug版本,當(dāng)選擇Release進(jìn)行編譯時(shí),會(huì)自動(dòng)鏈接到Release版本。
還要注意的就是,如果有某些項(xiàng)目是作為導(dǎo)出鏈接庫(kù)用的。需要把導(dǎo)出的dll, lib(即輸出文件路徑)設(shè)置到上面的Bin目錄下。然后在需要使用導(dǎo)出的dll和lib文件的項(xiàng)目中設(shè)置
項(xiàng)目依賴項(xiàng)這前者,并設(shè)置附加庫(kù)目錄和附加依賴項(xiàng)。這樣可以很方便的使用同一解決方案中其他項(xiàng)目導(dǎo)出的鏈接庫(kù)了。
以上就是我們一般需要設(shè)置的項(xiàng)目屬性。
?
總結(jié)
以上是生活随笔為你收集整理的vs中c++项目的配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MyBatis : Mapper 接口
- 下一篇: C++项目库包含,dll引用问题,直接把