ROS-CMakeLists文件编写

CMake可以用于编译C++代码,CMake默认生成的文件CMakeLists.txt内容繁多,在此给出CMakeLists的总体架构和ROS编译功能包实例参考,带注释。

1.总体架构

cmake_minimum_required()	#CMake的版本号
project()					#项目名称
find_package()				#找到编译需要的其他CMake/Catkin	package 
catkin_python_setup()		#catkin新加宏,打开catkin的Python Module的支持
add_message_files()			#catkin新加宏,添加自定义Message文件 
add_service_files()         #catkin新加宏,添加自定义Service文件 
add_action_files()          #catkin新加宏,添加自定义Action文件 
generate_message()			#catkin新加宏,生成不同语言版本的msg/srv/action接口 
catkin_package()			#catkin新加宏,生成当前package的cmake配置,供依赖本包的其他软件包调用 
add_library()				#生成库 
add_executable()			#生成可执行二进制文件
add_dependencies()			#定义目标文件依赖于其他目标文件,确保其他目标已被构建 
target_link_libraries()		#链接
catkin_add_gtest()			#catkin新加宏,生成测试
install()					#安装至本机

2.实例参考

cmake_minimum_required(VERSION 2.8.3)
# 项目名称
project(my_package)
# 编译依赖的包
find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  message_generation
  geometry_msgs
)

# 指定需要转换的msg文件
add_message_files(FILES People.msg)
# 只有调用了下面的函数才会生成people.h文件
generate_messages(DEPENDENCIES geometry_msgs)

include_directories(include  ${catkin_INCLUDE_DIRS}) # 指定C++头文件路径
link_directories(${catkin_LIBRARY_DIRS})  #指定链接库的路径

# 运行依赖
catkin_package(
    CATKIN_DEPENDS message_runtime
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值