views:

222

answers:

2

I'm trying to compile a project from the command line, like this:

devenv.exe myproj.sln /build release

It looks like the code compiles well, but that's not all I need:

I want to be able to capture the output (e.g. warnings, errors) from the compiler as they occur. Unfortunately as soon as I issue the above command I am returned to the command prompt.

When I look at process-explorer or taskmgr.exe I can see that the devenv.exe process (and a few other sub-processes) working away. If I look in the output folder I can see all of my files gradually appearing.

Is there a way of making VCC work a little bit more like GCC - when I issue a build command or make a project using a Makefile, I get a stream of messages and the console blocks until the process has completed.

Update: Thanks, two excellent solutions. I can confirm that it works.

+6  A: 

use devenv.com in place of devenv.exe and you will get what you want.

You can use MSBuild.exe as well for more options.

Aamir
+4  A: 

devenv uses this interesting dispatcher that switches between command line mode and windowed mode. There's actually a devenv.com in addition to devenv.exe, and since *.com takes precedence over *.exe, it gets invoked first. devenv.com analyzes the command line and decides what to invoke.

In other words, change your command line to:

devenv myproj.sln /build release

And you should be ok.

stevex