2008-12-02 73 views
4

調試時我需要從一個構建的目標目錄啓動一個外部程序,並且想知道是否可以使用相對路徑來完成。調試時是否可以從目標目錄啓動外部程序?

作爲生成後事件我有以下幾點:

 
IF NOT "$(ConfigurationName)"=="Debug" GOTO End 
:CopyExecutable 
copy "$(SolutionDir)\Source\Lib\MyExecutable.exe" "$(TargetDir)" 
:End 

我需要運行MyExecutable.exe當我在調試選項卡調試所以我設置「啓動外部程序」的項目屬性MyExecutable.exe但在運行調試時出現故障。看來我需要把這個工作的完整路徑。

有沒有辦法使用相對路徑來做到這一點?

+0

對於那些仍然有這個問題;請參閱[this](http://stackoverflow.com/questions/4774745/using-relative-path-for-start-external-program-in-vs-net-2010#comment37905907_4774745)或[this](http:// stackoverflow.com/questions/4774745/using-relative-path-for-start-external-program-in-vs-net-2010#comment37905830_5261113)評論。 – 2014-06-30 10:38:02

回答

-1

你試過類似$(TargetDir)\ .. \ Lib的東西嗎?

+2

在啓動程序路徑 – Fadeproof 2009-01-05 11:14:03

2

(_Disclaimer:所有方向是基於VS08事情可能是在以前或以後的版本中不同的地方)

我得到你的另一方案是感覺一個生成後步驟,要在調試之前運行,而是一個程序,也需要運行(服務器或某物)以及,而您調試的是。使用一個空的C++ Make-File項目(您可以使用其他項目類型,但默認情況下這個項目沒有實際的建築物,所以我覺得它是最簡單的),並且改變它的啓動屬性(Project/Properties - >調試)來運行你的其他應用程序。然後,設置您的解決方案以啓動多個項目(解決方案/屬性 - >通用屬性 - >啓動項目)。

5

'開始外部程序'路徑是相對於你的解決方案目錄(無論如何VS2005)。所以,你可以只是把:

Source\Lib\MyExecutable.exe 

我看你問這個前一段時間,但我只是碰到了同樣的問題,這是我如何解決它。

+0

中不能使用$(TargetDir)對於我來說,我做到了這一點,它運行良好。但之後我又在另一天重新打開了解決方案,現在它說它找不到該文件。該設置完全相同(解決方案相對,單個子文件夾),並且該文件在那裏。有沒有人有這個問題?自從(它由Git跟蹤)之後,沒有文件,文件夾或路徑發生過更改。 – Michael 2018-03-01 17:03:56

相關問題