使用 Coverity 使用 devenv 编译 C++ 项目时出错。 (cov-build.exe)

Posted

技术标签:

【中文标题】使用 Coverity 使用 devenv 编译 C++ 项目时出错。 (cov-build.exe)【英文标题】:Error while compiling a C++ project with devenv using Coverity. (cov-build.exe) 【发布时间】:2013-01-10 12:38:16 【问题描述】:

运行 Coverity 构建时出现以下错误:

Failed to locate msbuild.exe when handling devenv template configuration. Shutting down resident msbuild processes is impossible.

在 Google 中找不到!

有谁知道这可能意味着什么? 我该如何调查?

当我在没有 Coverity 的情况下从命令行构建时,它工作正常。

【问题讨论】:

【参考方案1】:

当您启动cov-build devenv 时,它尝试做的一件事是杀死空闲的 msbuild.exe 进程,因为如果它们没有被杀死,devenv 会将 build 指令传递给 msbuild 而 cov-build 无法看到它(这就是它知道如何构建文件的方式)。

有几种方法可以解决这个问题 - 这取决于您调用 cov-build 的方式、编译器配置的设置方式等。例如,您可以直接调用 cov-build msbuild 而不是通过 @987654323 @。

我建议使用 Coverity 打开一个支持案例(因为如果您有许可证,您就会获得支持)。通过 support@coverity.com 向他们发送电子邮件,我相信他们可以建议额外的调试步骤。

【讨论】:

以上是关于使用 Coverity 使用 devenv 编译 C++ 项目时出错。 (cov-build.exe)的主要内容,如果未能解决你的问题,请参考以下文章

使用devenv/MSBuild在命令行编译sln或csproj

Coverity 工具静态扫描 QT 项目实践

在 devenv.exe 中将 microsoft 编译器从 vc14 更改为 vc12

奇怪的 VS2008 (devenv) Nant 编译问题

如何捕获 devenv 异常

devenv VS aspnet_compiler