【问题标题】:No files emitted Warning没有文件发出警告
【发布时间】:2020-09-24 08:39:37
【问题描述】:

我有 C/C++ 应用程序,我正在尝试运行 cov-build 并收到警告“NO FILES EMITTED”。在我们对 Coverity 进行 POC 以进行静态代码分析时,您能帮我吗?

C:\Users\Master\bamboo-agent-home\xml-data\build-dir\DEC-L11PROJ-JOB1>cov-build --dir cov-int IarBuild.exe MainApplication\EWARM\L11_P4_uC1.ewp -build *

Windows 10 Enterprise 上的 Coverity Build Capture(64 位)版本 2019.03,64 位(内部版本 18362) 内部版本号:2c0f9c8cf4 p-pacific1-push-35439.872

 IAR Command Line Build Utility V8.4.8.6680
 Copyright 2002-2020 IAR Systems AB.

错误总数:0 警告总数:0 [警告] 未发出任何文件。这可能是由于您的配置有问题 或者因为您的构建命令实际上没有编译任何文件。 请确保您已配置编译中实际使用的编译器。 更多详情,请看: C:/Users/Master/bamboo-agent-home/xml-data/build-dir/DEC-L11PROJ-JOB1/cov-int/build-log.txt

【问题讨论】:

    标签: coverity


    【解决方案1】:

    首先,如果您参与了售前概念证明 (POC),则应指定一名 Coverity 销售工程师来帮助完成 POC。该人的职责包括提供类似于我将在下面提供的说明和信息,以及回答诸如您的技术问题。可能是某个地方出现了误传。 与销售工程师联系,他们将能够提供比我更可靠、更全面的帮助。

    现在,发生了什么事? cov-build 的主要目的是监视编译器调用的构建过程,当找到一个时,使用 Coverity 编译器(称为 cov-emit)编译相同的代码。但是为了识别编译器,cov-build 需要知道它的命令行名称、它是什么类型的编译器、它的包含文件存储在哪里等等。这是通过一个名为 cov-configure 的帮助工具完成的,它必须运行在cov-build 之前。如果cov-configure 尚未运行,则不会识别编译器调用,这似乎是您的情况,如“未发出文件”所示。

    Synopsys 有一个名为 CLI Integration Cheat sheet 的页面,其中提供了用于 IAR 的这些命令:

    cov-configure --comptype iar:arm --compiler iccarm --template
    cov-build --dir <intermediate directory> "c:\Program Files (x86)\IAR Systems\Embedded Workbench 6.5\common\bin\IarBuild.exe" sample_project.ewp -build Debug -log all
    

    我不能亲自担保这些命令(我没有 IAR,也不再访问 Coverity 工具;我是一名前雇员),但需要类似的东西。同样,您指定的销售工程师应该能够提供帮助。

    最后,对于 Coverity 的新用户,我建议使用 cov-wizard 工具。 cov-wizard 是命令行工具的图形前端,有解释概念和过程的帮助文本,以及用于执行它们的便捷界面。即使在cov-build 之后也有几个步骤,cov-wizard 将引导您完成所有步骤。它的最终屏幕会准确显示它使用的命令行,以防您想编写它们的脚本。

    【讨论】:

      猜你喜欢
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      相关资源
      最近更新 更多