首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么编译VCC .sln是在后台运行,没有标准输出?

为什么编译VCC .sln是在后台运行,没有标准输出?
EN

Stack Overflow用户
提问于 2009-01-16 11:17:33
回答 2查看 779关注 0票数 3

我正在尝试从命令行编译一个项目,如下所示:

代码语言:javascript
复制
devenv.exe myproj.sln /build release

看起来代码编译得很好,但这还不是我需要的全部:

我希望能够捕获来自编译器的输出(例如,警告、错误)。不幸的是,只要我发出上述命令,我就会返回到命令提示符。

当我查看process-explorer或taskmgr.exe时,我可以看到devenv.exe进程(和其他一些子进程)正在工作。如果我查看输出文件夹,我可以看到我的所有文件逐渐出现。

有没有一种方法可以让VCC的工作更像GCC --当我发出一个构建命令或者使用Makefile创建一个项目时,我会得到一个消息流,控制台会阻塞,直到这个过程完成。

更新:谢谢,有两个很好的解决方案。我可以确认它是有效的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-01-16 11:24:56

devenv使用这个有趣的调度程序在命令行模式和窗口模式之间切换。除了devenv.exe之外,实际上还有一个devenv.com,因为*.com优先于*.exe,所以它首先被调用。devenv.com分析命令行并决定调用什么。

换句话说,将命令行更改为:

代码语言:javascript
复制
devenv myproj.sln /build release

你应该会没事的。

票数 10
EN

Stack Overflow用户

发布于 2009-01-16 11:23:55

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

您还可以使用MSBuild.exe获得更多选项。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/450107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档