我正在尝试在我的项目中运行 sonar-runner。
相对于项目目录的根目录,我有几个子目录,每个子目录都有自己的包含源代码的子目录。
我遵循了 SonarQube 和 Sonar-runner 文档并使服务器和(嵌入式)数据库运行良好。事实上,运行者可以在 SonarQube 网络界面仪表板中向我展示一些分析。然而,我最关心的“问题”却不见了,我怀疑这是因为运行程序在执行时找不到任何头文件。
在 sonar-runner 执行过程中我看到的是
cannot find the sources for '#include <pthread.h>'
cannot find the sources for '#include <time.h>'
等等。它也不能包含自定义 header 。
如果有显着差异,我将使用 Coverity 和 cxx 社区插件运行它。
注意:我运行了 java 和 C 的示例集,它们运行良好。
命令在我的路径中,所以在我运行的项目的根目录下:
sonar-runner
最佳答案
在您的 Sonar 属性文件中,将 sonar.cxx.includeDirectories 设置为包含标题的文件夹,例如:
sonar.cxx.includeDirectories=c:\folderofheaders
参见 wiki尽管它没有必要检查,因为它说的是同样的事情。
关于c - Sonar-runner - 找不到 '#include <pthread.h>' 的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21606882/