Visual Studio 環境設定

如果你的 Project 不是單一執行檔,而是搭配其它檔案才能正常執行,那麼通常會設定 Debug 與 Release 兩組環境;如果再搭配 Win32 與 x64 的話就有 4 組了。有點麻煩?對吧!

所以我希望把測試環境設定在一個固定的地方 (例如 Bin 目錄下),這樣相關的檔案只要放一組就可以了,然後利用 Post-Build Event 把編譯過的執行檔複製到這裡就可以測試了。


Project property 該如何設定呢?首先針對所有 Configurations 與 Platforms 設定 Post-Build Event 為

copy "$(TargetPath)" "$(SolutionDir)Bin"

其中雙引號是為了防止路徑與檔名中間有空白字元,而我把測試環境設定在 Solution 目錄下的 Bin 子目錄,若不使用 Solution 目錄的話,Project 目錄也可以


接著設定要 Debug 的程式與工作目錄 (Platform 似乎沒辦法一次設定,所以 Win32 與 x64 要各做一次,不過內容都一樣)

首先是 Command,使用先前設定的路徑加上檔案名稱

$(SolutionDir)Bin\$(TargetFileName)

接著是 Working Directory

$(SolutionDir)Bin


這樣就可以在各個組態與平台間切換,而不需要重新設定所需要的相關檔案了。

這裡順便提一下,如果程式有 x64 的版本,可以在輸出檔名後面加上 x64 以資區別




2014/04/10


經過同事的指點,實際上可以省掉 Post-Build copy 的動作,只要把 Output File 指到 Bin 目錄即可,也就是

$(SolutionDir)Bin\$(ProjectName).exe

只是這樣在 Clean 時會連該檔案一併刪除,如果要保留 Release 版本要記得先 Copy 出來。




2014/12/29


Visual Studio 2010 在設定上跟 2008 又有點不太一樣。

實際上只要把 General | Output Directory 設定到共用的 Bin 目錄,Target Name 根據 Win32 / x64 設定成不同的名字


那麼 Debugging | Working Directory 可以統一設成 $(OutDir)


Linker | General | Output File 也可以統一設成 $(TargetPath),這樣就不需要在每一個組態做不同的設定,只要在前面 General 根據不同的組態各設定一次即可。


$(TargetPath) = $(OutDir) + $(TargetName) + $(TargetExtension)

留言

這個網誌中的熱門文章

Linux 批次檔的寫法

【分享】如何顯示 Debug Message

[分享] Visual Studio 遠端偵錯