ros2+rviz2示例代码--cmakelists.txt与package.xml备份

 ros2+rviz2示例代码--cmakelists.txt与package.xml备份_第1张图片

cmake_minimum_required(VERSION 3.8)
project(gazebo_pkg)
set(CMAKE_PREFIX_PATH /usr;/opt/ros/humble)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# find dependencies
find_package(ament_cmake REQUIRED)
find_package(robot_state_publisher REQUIRED)
find_package(urdf_tutorial REQUIRED)
find_package(xacro REQUIRED)
find_package(rviz2 REQUIRED)
install(
  DIRECTORY  urdf launch etc
  DESTINATION share/${PROJECT_NAME}
)
if(BUILD_TESTING)
  find_package(ament_lint_auto REQUIRED)
  # the following line skips the linter which checks for copyrights
  # comment the line when a copyright and license is added to all source files
  set(ament_cmake_copyright_FOUND TRUE)
  # the following line skips cpplint (only works in a git repo)
  # comment the line when this package is in a git repo and when
  # a copyright and license is added to all source files
  set(ament_cmake_cpplint_FOUND TRUE)
  ament_lint_auto_find_test_dependencies()
endif()

ament_package()




  gazebo_pkg
  0.0.0
  TODO: Package description
  actorsun
  TODO: License declaration

  ament_cmake

  robot_state_publisher
  urdf_tutorial
  xacro
  rviz2

  ament_lint_auto
  ament_lint_common

  
    ament_cmake
  

其中修改为如下也可以




  gazebo_pkg
  0.0.0
  TODO: Package description
  actorsun
  TODO: License declaration

  ament_cmake

  robot_state_publisher
  joint_state_publisher
  xacro
  rviz2

  ament_lint_auto
  ament_lint_common

  
    ament_cmake
  

find_package 命令用法举例

  • find_package(OpenCV)
    • 查找名为 OpenCV 的包,找不到不报错,事后可以通过 ${OpenCV_FOUND} 查询是否找到。

  • find_package(OpenCV QUIET)
    • 查找名为 OpenCV 的包,找不到不报错,也不打印任何信息。
  • find_package(OpenCV REQUIRED) # 最常见用法
    • 查找名为 OpenCV 的包,找不到就报错(并终止 cmake 进程,不再继续往下执行)。

  • find_package(OpenCV REQUIRED COMPONENTS core videoio)
    • 查找名为 OpenCV 的包,找不到就报错,且必须具有 OpenCV::core 和 OpenCV::videoio 这两个组件,如果没有这两个组件也会报错。
  • find_package(OpenCV REQUIRED OPTIONAL_COMPONENTS core videoio)
    • 查找名为 OpenCV 的包,找不到就报错,可具有 OpenCV::core 和 OpenCV::videoio 这两个组件,没有这两组件不会报错,通过 ${OpenCV_core_FOUND} 查询是否找到 core 组件。

find_package 说是找“包(package)”,到底是在找什么?

你可能感兴趣的:(xml,ros2,cmakelists.txt,packages.xml)