【发布时间】:2018-06-08 17:25:39
【问题描述】:
我正在尝试使用命令 pvs_studio_add_target 将 PVS-Studio 集成到我的 CMake 项目中。任何人都可以指向一个示例 CMakeLists.txt 文件吗?
当我构建我的项目时,我看到以下输出(除了通常的东西):
正在生成 PVS-Studio.log:未找到来源
我会假设 PVS-Studio 会在 CMAKE_CURRENT_SOURCE_DIR 中查找项目源文件?也许我必须告诉它?以下是我对项目 CMakeLists.txt 文件所做的修改:
set(pvs_studio_cmake "$ENV{HOME}/installers/PVS-Studio.cmake")
include(${pvs_studio_cmake})
# TODO: Generating PVS-Studio.log: no sources found
pvs_studio_add_target(TARGET analyze ALL
FORMAT tasklist
PREPROCESSOR gcc)
我运行以下命令在 build 目录中配置 CMake(out of source build):
cmake -G "Unix Makefiles" -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DCMAKE_BUILD_TYPE=Debug <source-dir>
我在所有项目 cpp 文件的顶部插入了以下注释。
// This is an independent project of an individual developer. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
在这个只是 main.cpp 的特定项目中。我有一些只有头文件的模板代码没有相应的 cpp 文件。
谢谢,
大卫
【问题讨论】:
-
请重新表述您的问题。目前,您正在要求一个离题的示例。问“我应该怎么做才能实现 X?到目前为止我尝试了 Y 并得到了 Z”
-
嗨,好的。 PVS-Studio 似乎没有找到任何要分析的文件,因此出现消息:“正在生成 PVS-Studio.log:未找到源”。我想知道如何解决这个问题。谢谢,
-
@David 试试这个测试项目:cppfiles.com/test_project.tar.gz
-
@StevenHunter:嗨,Steven,我能够构建您的测试项目。它报告了问题:“错误:V501 '=='运算符的左侧和右侧有相同的子表达式:x == x”。使用示例项目作为参考,我能够解决我的问题。谢谢!
标签: cmake pvs-studio