首先,咱們通常不會修改解決方案的屬性,而是設置每一個項目各自的屬性.javascript
接着上一篇文章,咱們來看看咱們應該怎樣來設置各項目的項目屬性更好:php
咱們以NYOJ_001項目的Debug版的設置爲例:css
在常規選項裏,咱們通常會設置輸出目錄(即生成.exe文件的目錄),中間目錄(即中間文件的目錄)。固然你也能夠在這裏設置生成的.exe文件的文件名甚至擴展名等。html
以下圖所示:java
通常設置以下的目錄:若是不記得某個宏變量的值,能夠點擊「宏(M)>>」來查看。node
既然咱們修改了輸出文件的目錄,那咱們也必須修改咱們的調試目錄,否則就沒法調試了。不信你運行一下試試,雖然編譯經過了,但並沒像你想的那樣出現控制檯的「黑窗口」,緣由就是咱們沒有修改調試目錄:python
將調試目錄修改成$(OutDir)就能夠了,$(OutDir)就是咱們以前在常規裏設置的輸出文件的目錄:mysql
這裏面的命令參數一項也是比較重要的,若是你開發的是一個帶有命令行參數的項目,你調試的時候就能夠在這裏設置傳給程序的命令行參數來進行調試了。你是否還記得你運行一個帶有命令行參數的程序時是出現一個黑框框而後立刻就消失了,什麼也不會作,除非你是將該程序拖到命令提示符下運行。react
這些設置完後,能夠先編譯運行一下程序,結果以下所示:jquery
程序能夠正常調試,還會在解決方案的根目錄下生成咱們設置的輸出文件的目錄:Win32\Debug\Bin,生成的.exe文件就在該目錄下。還有中間文件目錄:Win32\Debug\XXX,裏面放的都是生成的中間文件。若是你的這個項目裏用到了其餘的庫,你還須要像下面這樣設置你的項目的附加包含目錄和附加庫目錄:前都是設置其餘庫的.h頭文件的目錄,通常放在庫的include文件夾下。後者是設置其餘庫的lib以及.dll連接庫的目錄,通常放在庫的lib下。以下:
最後你還必須設置項目的附加依賴項的值:通常設置的就是xx.lib靜態連接庫的名稱
好了,全部必須設置的都已經設置完成了。
下面還有一個很是有用的設置,咱們知道當咱們的程序使用在其餘的庫的dll文件時,在程序的當前目錄或環境變量指定的目錄中必須可以找獲得這些.dll文件,即如今咱們打開.exe文件所在的Bin文件夾,雙擊運行程序,除非你設置了所依賴的dll的環境變量,不然程序仍然沒法運行,由於程序沒法找到dll模塊。你能夠手動把這些.dll拷貝到.exe文件所在的文件夾,但如今有一個更好的辦法,以下圖:
咱們能夠在上面的命令行中填寫咱們在從新生成完程序後,執行的命令。咱們能夠在這裏使用copy命令,來將程序須要的.dll文件自動拷貝到.exe文件所在的目錄。固然,在這裏你能夠作更多的事情,好比若是你的程序須要讀取配置文件,你也能夠把配置文件拷貝過來等。
最後,把配置由Debug改變Release再將Release下的全部這些設置從新設置成Debug相同的就能夠了。
路徑推薦使用編譯器提供給咱們的宏變量,而儘可能不要使用絕對的名稱,這樣程序更具備移植性。例如,若是某外部庫的目錄爲Win32\Debug與Win32\Release或Win64\Debu與Win64\Release。這樣咱們使用$(Platform)\$(Configuration)進行設置的時候就不須要再去管什麼平臺以及是Debug仍是Release版本。由於編譯器會自動爲咱們切換,當選擇Debug進行編譯時,編譯器會自動連接到Debug版本,當選擇Release進行編譯時,會自動連接到Release版本。
還要注意的就是,若是有某些項目是做爲導出連接庫用的。須要把導出的dll, lib(即輸出文件路徑)設置到上面的Bin目錄下。而後在須要使用導出的dll和lib文件的項目中設置
項目依賴項這前者,並設置附加庫目錄和附加依賴項。這樣能夠很方便的使用同一解決方案中其餘項目導出的連接庫了。
以上就是咱們通常須要設置的項目屬性。