如何在ROS中使用catkin build构建时抑制弃用警告?
在ROS中设置CMAKE_WARN_DEPRECATED以抑制弃用警告
单个ROS包生效
直接在目标包的CMakeLists.txt里添加设置,建议放在project()指令前后:set(CMAKE_WARN_DEPRECATED OFF)注意:这种方式只对当前包的代码生效,依赖包(比如Googletest、catkin_tools_prebuild)的警告不会被屏蔽。
临时全局生效(单次构建)
每次执行catkin build时带上参数,对所有构建的包(包括依赖)生效:catkin build -DCMAKE_WARN_DEPRECATED=OFF永久全局生效
修改catkin_tools的全局配置文件,默认路径是~/.catkin_tools/profiles/default/config.yaml,在文件中添加:cmake_args: - -DCMAKE_WARN_DEPRECATED=OFF保存后,后续所有
catkin build都会自动应用这个配置,无需每次手动加参数。仅抑制特定依赖的警告
如果只想屏蔽Googletest这类依赖的警告,同时保留自己代码的警告,可以在CMakeLists.txt里这么写:# 先关闭警告 set(CMAKE_WARN_DEPRECATED OFF) # 查找依赖 find_package(GTest REQUIRED) # 恢复当前包的弃用警告(可选操作) set(CMAKE_WARN_DEPRECATED ON)
内容的提问来源于stack exchange,提问作者Scotrraaj Gopal
相关产品推荐
相关产品推荐

