如何在检测到编译错误时停止Visual Studio 2015的编译?
我的意思是第一个构建错误(可能是第一个.cpp
),而不是第一个项目,因为它需要太多时间.
(我只有一个项目.)
名为" StopOnFirstBuildError "的扩展名不是答案,
因为它会在第一个出错的项目上停止.
(更详细)
当我按F5或时Ctrl+Shift+B,编译器将编译所有(或一些)文件.
在我的情况下,它只使用5秒就可以检测到一些错误,所以我希望它立即停止编译.
但是,VS 2015变得没有响应.
它也有很强的抵抗力Ctrl+Break.
我需要大约30秒才能导航到错误位置.
如何自动停止第一次编译错误的编译过程?
有一个旧的线程询问Visual Studio 2008这个.
它最常被接受的解决方案是去: -
Visual Studio -> Tools -> Macros -> Macro IDE... (or ALT+F11)
Run Code Online (Sandbox Code Playgroud)
并粘贴一段代码.
但是,VS 2012中不再支持宏.
(我试图按Alt+F11VS 2015,没有宏编辑器/菜单出现.)
该声明与VS 2010的问题一致,表明上述技巧不起作用.
VS2010问题的解决方案是安装名为" CancelFailedBuild "的扩展.
因此,我下载了它.
执行时.vsix …
我们有一些C++解决方案,我们使用批处理文件运行一些构建脚本,这些批处理文件为解决方案中的每个配置调用msbuild.exe.
这在3台开发人员机器和一台构建机器上运行良好,但其中一个项目在链接时开始挂起.这只发生在最新的四核机器上,我认为是2.8ghz.它在Windows Server 2003上运行,其他在XP或Vista上运行.
即使我更改了bat文件中的构建顺序,也会始终如一地发生这种情况.
如果我从该计算机上的IDE运行构建它不会挂起.
关于可能导致这种情况的任何想法?
我正在使用Visual Studio 2008.
我现在看到它挂起时运行如下:
exe文件存在,pdb文件也存在.
exe文件被某些进程锁定,我无法删除或移动它.我可以删除pdb文件.
如果我只使用VCBuild.exe,我也有问题.
我决定尝试调试2个link.exe进程和mspdbsrv.exe进程.
当我将调试器/ MSdev IDE连接到它们时,我得到一个消息框,说明应用程序已死锁和/或"所有线程已退出".
我想我将不得不检查该机器上msdev安装的服务包.
在debug.htm输出文件中,我在生成link.exe命令后得到各种东西输出.
但是,对于发行版buildlog.htm,linke.exe行是最后一行.
这显然是链接器的一个悬念.绝对是一个微软的bug.
我现在试图弄清楚.rsp(链接器响应)文件是什么.
当我发出:
link.exe @c:\\ Release\RSP00000535202392.rsp/NOLOGO/ERRORREPORT:QUEUE
这是发布版本日志中的最后一行.调试之后有更多的信息.
重新安装不同版本的Visual Studio无法解决问题.
我将与微软公开一个问题/票.如果可以,我会发一个答案.