还有其他人在使用 Coverity Scan Build 工具 8.7.0 版时遇到问题吗?

Is anybody else having problems with Coverity Scan Build tool version 8.7.0?

我已经使用 Coverity Scan 大约一年了,目前使用的是 Windows 7 Pro SP1 x64。自从我第一次使用它以来,我毫不费力地输入 cov-build 我项目的 make 命令,它每次都会发出 100% 的编译单元。 Coverity Build 工具的 8.7.0 版发生了一些变化:处理我的源代码需要类似的时间,但它总是导致错误,并表示没有发出编译单元。

中间目录有很多我使用cov-build这个版本时写入的文件,日志中有很多如下实例:

error: unknown target triple '--windows-gnu', please use -triple or -arch WARNING: cov-internal-emit-clang returned with code 4

我的源代码没有发生重大变化,我也没有改变我的任何构建工具。如果我降级到以前版本的构建工具 (8.5.0.5),它会正常工作并按预期发出所有编译单元。我已经就此问题多次通过电子邮件向 Coverity 支持部门发送电子邮件,但尚未收到回复。最新版本的构建工具是否适用于其他人?

查看您粘贴的构建日志片段,您似乎已将 Windows 上的 gcc 配置为 comptype clangcc。在 MacOSX 上 gcc 实际上是伪装的 Apple 的 Clang 编译器,但我不知道在 Windows 上也是如此。这导致 Clang 的编译器探测失败 - 最直接的指示是这个明显不正确的编译器版本开关:

--comp_ver "gcc.exe (GCC) 4.8.1 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. "

我相信您的解决方案是删除 gcc-as-clang 配置并重新 运行 cov-configure。这很可能就足够了:

cov-configure --gcc

但是,如果存在某些产品错误无法正常工作(请联系支持人员),那么这是更明确的版本:

cov-configure --compiler gcc --comptype gcc --template

您是否运行 自己配置了 cov,或者这些是 SCAN 附带的配置?

事实证明,最初的 8.7.0 版本存在一个错误,导致捕获工具无法正确识别编译器。 Coverity 支持建议我重新下载 8.7.0 版本,现在它可以正常工作了。