問題
解決方案的配置分為release和debug版本,至于其中的差別不再闡述。預設下會生成release和debug檔案夾,包括編譯的中間檔案以及最終的生成檔案。啟動調試和開始運作,指定的調試或者運作的目錄是不一樣的,調試的時候啟動的并不是debug檔案夾下面的可執行程式,除非指定了調試的目錄,預設情況下,是以工程目錄$(ProjectDir)定義的目錄為調試目錄,這個是vc.proj檔案所在的目錄。如果程式依賴其他的檔案或者dll,都必須拷貝到目前的目錄下,否則執行出錯。是以很自然的想到手動設定調試目錄,而不是由系統指定,畢竟軟體項目中依賴很多使用者指定的dll
解決VS2005
在連結器正常中指定輸出檔案,這個時候就會以目前的目錄作為調試的目錄
解決VS2010 VS2012
配置屬性正常中指定輸出目錄,這個目錄是調試的時候啟動程式的目錄,在VS05中的
設定連結器的輸出檔案目錄,在這裡已經不起作用,是以在輸出目錄中指定調試程式的生成目錄
解決VS2015
配置屬性中連結器的正常配置項中,雖然指定了輸出檔案,但是這個并不是VS調試的時候,會調用的目錄可執行程式,需要在調試中填寫輸出檔案的所在目錄
比如,工程中設定輸出檔案..\outputs\mytest.exe,在調試中的工作目錄必須設定為..\outputs,然後在正常頁面上填寫目标檔案名mytest,同時指定輸出目錄..\outputs\(正常頁面的設定是告訴調試器去哪裡找到exe可執行程式,然後作為程式的目前目錄進行執行)
提醒
在配置屬性中經常可以看到一些宏定義變量,例如:$(SolutionDir),$(ProjectDir),$(OutDir),可以通過編輯檔案路徑,檢視宏可以看到對應的值.非常容易了解
$(SolutionDir)就是工程解決方案sln檔案所在的目錄
$(ProjectDir)就是vc.proj檔案所在的目錄,一般跟源碼是同一級目錄
本文轉自fengyuzaitu 51CTO部落格,原文連結:http://blog.51cto.com/fengyuzaitu/1946797,如需轉載請自行聯系原作者