2010-09-03 36 views
2

我正在用Visual Studio 2005構建C++解決方案。如何確定構建是否來自編輯器或命令行?

有時我會在Visual Studio中打開解決方案並在開發環境中構建它。其他時候,我使用msbuild.exe從命令行構建它。我想知道是否有一種方法可以確定我在編譯時使用的這兩種構建類型中的哪一種(例如,宏或類似的東西)。我想根據這個決定更改我的輸出文件的路徑。所以,如果我從Visual Studio中構建,我會將輸出文件放在FolderA中,但是如果從命令行構建,我會將輸出文件放在FolderB中。這可能嗎?

回答

0

也許你可以在命令行,將表明您正在構建從命令行的解決方案構建當在命令行參數傳遞。否則,您可以假設您正在Visual Studio中構建。

+0

如果沒有Visual Studio自動提供的宏,這將是一個很好的解決方法。我很好奇,如果有任何默認情況下。如果沒有,我會按你的建議添加我自己的。 – Brian 2010-09-03 14:51:25

0

我沒有回答你的一般性問題,但爲了改變輸出路徑,你有沒有想過加入項目配置的?您可以複製項目配置並更新新項目的輸出路徑。

+0

我沒想過爲命令行構建創建新的項目配置。這不是一個壞主意,但是如果我們需要對配置進行更改,它會引入維護兩種配置的需要。感謝您的輸入! – Brian 2010-09-03 15:42:52

+0

這是正確的,儘管VC++有一些將項目設置放入外部文件的概念,並且設置能夠從某種「解決方案默認值」中繼承。如果你沒有找到更好的解決方案,可能值得調查。 – Timores 2010-09-03 22:07:51

相關問題