我正在尝试从命令行编译项目,如下所示:
devenv.exe myproj.sln /build release
看起来代码编译得很好,但这不是我所需要的:
我希望能够在编译器出现时捕获输出(例如警告,错误).不幸的是,一旦我发出上述命令,我就会返回命令提示符.
当我查看process-explorer或taskmgr.exe时,我可以看到devenv.exe进程(以及其他一些子进程)正在运行.如果我查看输出文件夹,我可以看到我的所有文件逐渐出现.
是否有一种方法可以让VCC像GCC一样工作 - 当我发出构建命令或使用Makefile创建项目时,我得到一个消息流和控制台块,直到该过程完成.
更新:谢谢,两个出色的解决方案.我可以确认它有效.
使用devenv.com代替devenv.exe,你会得到你想要的.
您也可以使用MSBuild.exe获取更多选项.
devenv使用这个有趣的调度程序在命令行模式和窗口模式之间切换.除了devenv.exe之外,实际上还有一个devenv.com,并且因为*.com优先于*.exe,所以它首先被调用.devenv.com分析命令行并决定调用什么.
换句话说,将命令行更改为:
devenv myproj.sln /build release
你应该没问题.