ros2 CMakeLists.txt与packages.xml写法

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

:尽量使用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(nolinearMPCNode 
  ipopt
)
ament_auto_package ()
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
  <name>nolinear_mpc_control</name>
  <version>0.0.0</version>
  <description>TODO: Package description</description>
  <maintainer email="zhangying@blg.com">zhangying</maintainer>
  <license>TODO: License declaration</license>

  <buildtool_depend>ament_cmake</buildtool_depend>
  
  <depend>std_msgs</depend>
  <depend>chassis_control</depend>
  <depend>nav_msgs</depend>
  <depend>tf2_ros</depend>
  <depend>ackermann_msgs</depend>
  <depend>eigen3</depend>
  <depend>ipopt</depend>

  <test_depend>ament_lint_auto</test_depend>
  <test_depend>ament_lint_common</test_depend>
  
  <export>
    <build_type>ament_cmake</build_type>
  </export>
</package>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值