相关疑难解决方法(0)

Visual Studio 2015(C++):在第一个构建错误(不是第一个项目)上停止编译

如何在检测到编译错误时停止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++ visual-studio-2015

10
推荐指数
1
解决办法
849
查看次数

为什么msbuild和link.exe在构建期间"挂起"?

我们有一些C++解决方案,我们使用批处理文件运行一些构建脚本,这些批处理文件为解决方案中的每个配置调用msbuild.exe.

这在3台开发人员机器和一台构建机器上运行良好,但其中一个项目在链接时开始挂起.这只发生在最新的四核机器上,我认为是2.8ghz.它在Windows Server 2003上运行,其他在XP或Vista上运行.

即使我更改了bat文件中的构建顺序,也会始终如一地发生这种情况.

如果我从该计算机上的IDE运行构建它不会挂起.

关于可能导致这种情况的任何想法?

我正在使用Visual Studio 2008.


编辑:

我现在看到它挂起时运行如下:

  • link.exe(2个实例)一个内存使用量大,内存使用量少的一个.
  • vcbuild.exe
  • msbuild.exe
  • vcbuildhelper.exe
  • mspdbsrv.exe

编辑:

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无法解决问题.

我将与微软公开一个问题/票.如果可以,我会发一个答案.

c++ msbuild linker batch-file visual-studio

7
推荐指数
1
解决办法
1万
查看次数