注:尽量使用ament_cmake_auto来编写cmakelists.txt文件,依赖的程序包在packages.xml文件中用<depend>nav_msgs</depend>的形式声明,一些找不到的动态链接库可以用target_link_libraries的方式书写
cmake_minimum_required(VERSION 3.5)
project(nolinear_mpc_control)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
add_definitions(-fPIC)
#find_package(catkin REQUIRED COMPONENTS roscpp std_msgs)
find_package(ament_cmake_auto REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_msgs REQUIRED)
find_package(ackermann_msgs REQUIRED)
find_package(tf2_ros REQUIRED)
find_package(nav_msgs REQUIRED)
find_package(chassis_control REQUIRED)
#find_package(rosidl_default_generators REQUIRED)
ament_auto_find_build_dependencies()
ament_auto_add_executable(nolinearMPCNode
src/MPCNode.cpp
src/NolinearMPC.cpp
)
target_link_libraries(nolinearMPCN
使用ament_cmake_auto构建ROS2节点

本文档展示了如何使用ament_cmake_auto编写cmakelists.txt,并声明依赖的ROS2包。通过示例代码,说明了如何链接库和添加源文件,以及配置ament包。同时,提供的packages.xml文件列出了所有依赖项,包括nav_msgs、chassis_control等。
最低0.47元/天 解锁文章
763

被折叠的 条评论
为什么被折叠?



