Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在CMakeList.txt中禁用protobuf生成的叮当警告_C++_Cmake_Clang_Protocol Buffers_Grpc - Fatal编程技术网

C++ 如何在CMakeList.txt中禁用protobuf生成的叮当警告

C++ 如何在CMakeList.txt中禁用protobuf生成的叮当警告,c++,cmake,clang,protocol-buffers,grpc,C++,Cmake,Clang,Protocol Buffers,Grpc,我是Cmake/protobuf领域的新手 在我的CMakeList.txt中 set(CMAKE\u CXX\u CLANG\u TIDY“CLANG TIDY;-checks=google-*,cppcoreguidelines-*”) 对于过梁警告 我还包括protobuf的Catkinized gRPC包 find_package(catkin REQUIRED COMPONENTS grpc) generate_proto(......) 当我编译这个项目时,我看到很多关于文件名.

我是Cmake/protobuf领域的新手

在我的CMakeList.txt中
set(CMAKE\u CXX\u CLANG\u TIDY“CLANG TIDY;-checks=google-*,cppcoreguidelines-*”)
对于过梁警告

我还包括protobuf的Catkinized gRPC包

find_package(catkin REQUIRED COMPONENTS grpc)

generate_proto(......)
当我编译这个项目时,我看到很多关于
文件名.pb.cc
文件的警告


有没有办法为自动生成的文件或特定目标禁用clang linter?

从clang tidy中排除特定源文件相对困难,因为cmake生成每个clang tidy激活目标的所有源文件的列表,并将其传递给clang tidys命令行

如果您仅为一个或多个特定目标启用clang tidy并生成自己的protobuf文件,则可以将protobuf内容分离到静态库中,而不为该目标启用clang tidy。对于ROS,我建议您只针对自己的目标运行clang tidy:

set_target_properties( myAwesomeTarget
    PROPERTIES CXX_CLANG_TIDY "clang-tidy;-checks=google-*,cppcoreguidelines-"
)
如果要保持全局clang整洁,可以使用相同的方式禁用单个目标的clang整洁:

set_target_properties( myAwesomeTarget
    PROPERTIES CXX_CLANG_TIDY ""
)

从clang tidy中排除特定源文件相对困难,因为cmake生成每个clang tidy激活目标的所有源文件的列表,并将其传递给clang tidys命令行

如果您仅为一个或多个特定目标启用clang tidy并生成自己的protobuf文件,则可以将protobuf内容分离到静态库中,而不为该目标启用clang tidy。对于ROS,我建议您只针对自己的目标运行clang tidy:

set_target_properties( myAwesomeTarget
    PROPERTIES CXX_CLANG_TIDY "clang-tidy;-checks=google-*,cppcoreguidelines-"
)
如果要保持全局clang整洁,可以使用相同的方式禁用单个目标的clang整洁:

set_target_properties( myAwesomeTarget
    PROPERTIES CXX_CLANG_TIDY ""
)