我在Linux上使用带有CMake的PVS-Studio。我最近在我的项目中添加了一个第三方库。
PVS-Studio正在标记第三方库的头文件中可能存在的问题。如何告诉PVS-Studio在分析代码时忽略整个第三方库?在Windows的Visual Studio中使用PVS-Studio时,我可以使用Visual Studio中的PVS-Studio扩展来实现这一点。在Linux上,我没有这个功能。
我已经将我的CMakeLists.txt文件附加到这个项目(它非常简单)加上由PVS-Studio发出的警告列表。
CMakeLists.txt
cmake_minimum_required(VERSION 3.15.0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
project(my_project)
include_directories($ENV{HOME}/code/repo/other/GSL/include)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(proj_srcs main.cpp notes.txt)
add_executable(${PROJECT_NAME} ${proj_srcs})
include($ENV{HOME}/code/repo/other/pvs-studio-cmake-examples/PVS-Studio.cmake)
pvs_studio_add_target(TARGET ALL COMPILE_COMMANDS OUTPUT FORMAT errorfile)警告
.../other/GSL/include/gsl/multi_span:663:1: warning: V547 Expression is always true.
.../other/GSL/include/gsl/multi_span:1163:1: warning: V560 A part of conditional expression is always true: totalSize <= (9223372036854775807L).
.../other/GSL/include/gsl/string_span:118:1: warning: V547 Expression 'cur != nullptr' is always true.谢谢,
大卫
发布于 2019-08-02 14:44:41
您可以使用此参数:
-e [DIR], --exclude-path [DIR]
Directory whose files are not necessary to checkCMakeLists.txt:
pvs_studio_add_target(TARGET ALL
COMPILE_COMMANDS
OUTPUT FORMAT errorfile
ARGS -e /path/to/third/party -e /path/to/tests)https://stackoverflow.com/questions/57303896
复制相似问题