c++windowsvisual-studiomvcc

Why does compiling a VCC .sln run in the background with no stdout?


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.


Solution

  • 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.