include_directories(SYSTEM ${${PACKAGE_NAME}_INCLUDE_DIRS})
时间: 2023-12-18 22:02:31 浏览: 29
这段代码是 CMake 语言中的一条命令,用于向 CMake 项目中添加系统头文件搜索路径。
具体来说,`include_directories` 命令用于向项目中添加头文件搜索路径,`SYSTEM` 关键字表示这些路径是系统路径,告诉编译器这些路径中的头文件不需要进行严格的语法检查。
`${${PACKAGE_NAME}_INCLUDE_DIRS}` 是一个 CMake 变量,表示一个包的头文件搜索路径集合。
因此,这段代码的作用是将一个包的头文件搜索路径添加到 CMake 项目中的系统头文件搜索路径中。
相关问题
cmake_minimum_required(VERSION 3.0.2) project(velodyne_gazebo_plugins) find_package(catkin REQUIRED COMPONENTS roscpp sensor_msgs tf gazebo_ros ) find_package(Boost 1.65.1 COMPONENTS signals program_options REQUIRED) find_package(gazebo REQUIRED) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GAZEBO_CXX_FLAGS}") catkin_package( INCLUDE_DIRS include ${GAZEBO_INCLUDE_DIRS} LIBRARIES gazebo_ros_velodyne_laser gazebo_ros_velodyne_gpu_laser CATKIN_DEPENDS roscpp sensor_msgs gazebo_ros ) include_directories( include ${catkin_INCLUDE_DIRS} ${GAZEBO_INCLUDE_DIRS} ) link_directories( ${GAZEBO_LIBRARY_DIRS} ) add_library(gazebo_ros_velodyne_laser src/GazeboRosVelodyneLaser.cpp) target_link_libraries(gazebo_ros_velodyne_laser ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} RayPlugin ) add_library(gazebo_ros_velodyne_gpu_laser src/GazeboRosVelodyneLaser.cpp) target_link_libraries(gazebo_ros_velodyne_gpu_laser ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} GpuRayPlugin ) target_compile_definitions(gazebo_ros_velodyne_gpu_laser PRIVATE GAZEBO_GPU_RAY=1) install(TARGETS gazebo_ros_velodyne_laser gazebo_ros_velodyne_gpu_laser LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} ) install(DIRECTORY include/${PROJECT_NAME}/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} )
这段代码是一个CMakeLists.txt文件的内容,用于构建名为"velodyne_gazebo_plugins"的项目。该项目依赖于一些ROS(Robot Operating System)和Gazebo的组件。
首先,它使用`find_package`命令来查找所需的依赖包,包括`roscpp`、`sensor_msgs`、`tf`、`gazebo_ros`等。然后,它使用`find_package`命令来查找Boost库,并指定了需要的组件:`signals`和`program_options`。
接下来,它使用`find_package`命令来查找Gazebo,并设置相关的编译标志。然后,通过`catkin_package`命令定义了一些包含目录和库文件,并指定了一些依赖关系。
在`include_directories`和`link_directories`中分别指定了一些包含目录和库文件的路径。
接下来,它使用`add_library`命令添加了两个库:`gazebo_ros_velodyne_laser`和`gazebo_ros_velodyne_gpu_laser`。这些库分别链接了所需的依赖项,并定义了一些编译选项。
最后,使用`install`命令将生成的库文件和头文件安装到指定的目录。
这段代码的作用是构建一个包含Gazebo插件的ROS项目,并将生成的库文件和头文件安装到指定位置。如果你有任何其他问题,请随时提问。
cmake_minimum_required(VERSION 2.8.3) project(ego_planner) set(CMAKE_BUILD_TYPE "Release") ADD_COMPILE_OPTIONS(-std=c++11 ) ADD_COMPILE_OPTIONS(-std=c++14 ) set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g") find_package(Eigen3 REQUIRED) find_package(PCL 1.7 REQUIRED) find_package(catkin REQUIRED COMPONENTS roscpp std_msgs geometry_msgs quadrotor_msgs plan_env path_searching bspline_opt traj_utils message_generation cv_bridge ) # catkin_package(CATKIN_DEPENDS message_runtime) catkin_package( INCLUDE_DIRS include LIBRARIES ego_planner CATKIN_DEPENDS plan_env path_searching bspline_opt traj_utils # DEPENDS system_lib ) include_directories( include SYSTEM ${catkin_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/include ${EIGEN3_INCLUDE_DIR} ${PCL_INCLUDE_DIRS} ) add_executable(ego_planner_node src/ego_planner_node.cpp src/ego_replan_fsm.cpp src/planner_manager.cpp ) target_link_libraries(ego_planner_node ${catkin_LIBRARIES} ) #add_dependencies(ego_planner_node ${${PROJECT_NAME}_EXPORTED_TARGETS}) add_executable(traj_server src/traj_server.cpp) target_link_libraries(traj_server ${catkin_LIBRARIES}) #add_dependencies(traj_server ${${PROJECT_NAME}_EXPORTED_TARGETS})
这段代码是一个 CMakeLists.txt 文件,用于编译一个名为 ego_planner 的工程。该工程依赖于 Eigen3 和 PCL 库,同时也依赖于一些 ROS 的组件,如 roscpp、std_msgs、geometry_msgs、quadrotor_msgs、plan_env、path_searching、bspline_opt、traj_utils 和 message_generation。该工程包含两个可执行文件,一个是 ego_planner_node,另一个是 traj_server。其中 ego_planner_node.cpp 是主程序,它包含了 ego_replan_fsm.cpp 和 planner_manager.cpp 两个文件。traj_server.cpp 是用于生成轨迹的服务器程序。在编译过程中,使用了 C++11 和 C++14 标准,同时开启了 Release 模式。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)