2009-01-16 40 views
3

我試圖編譯命令行的一個項目,像這樣:爲什麼編譯一個VCC .sln在沒有stdout的背景下運行?

devenv.exe myproj.sln /build release 

它看起來像代碼編譯好了,但是這不是我所需要的:

我希望能夠到捕獲編譯器在輸出時的輸出(例如警告,錯誤)。不幸的是,只要我發出上述命令,我就返回到命令提示符。

當我看着進程資源管理器或taskmgr.exe時,我可以看到devenv.exe進程(以及其他一些子進程)正在運行。如果我查看輸出文件夾,我可以看到所有文件逐漸出現。

有沒有辦法讓VCC的工作更像GCC - 當我發出構建命令或使用Makefile創建項目時,我會得到一串消息和控制檯塊,直到過程完成。

更新:謝謝,兩個優秀的解決方案。我可以證實它的工作原理。

回答

9

devenv使用這個在命令行模式和窗口模式之間切換的有趣的調度程序。除了devenv.exe,實際上還有一個devenv.com,由於* .com優先於* .exe,因此它首先被調用。 devenv.com分析命令行並決定要調用的內容。

換句話說,您的命令行更改爲:

devenv myproj.sln /build release 

而且你應該沒問題。

9

使用devenv.com代替devenv.exe,你會得到你想要的。

您也可以使用MSBuild.exe以獲取更多選項。

相關問題