【ros】功能包下CMakeLists.txt的介绍

本文旨在介绍CMakeLists的常见知识点



一、一些部分常识

  1. 用 # 来进行注释(与python类似),在ros中的CMakeLists里面,注释量非常大
  2. 方括号([ ])中的内容为可有可无的项目

二、编译配置项的介绍

1.include_directories

代码示例如下:

include_directories(
  include
  ${catkin_INCLUDE_DIRS}
)

include_directories ([AFTER|BEFORE] [SYSTEM] dir1 [dir2 …])
将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。此处是将其指向include文件夹中。

注意 [] 方括号表示可有可无

详细介绍可点击此处查看


2.add_executable

代码示例如下:

add_executable(velocity_publisher src/velocity_publisher.cpp)

格式如下:add_executable(targetName source1 [source2 …])

以示例代码为介绍对象:
其将 src 文件夹中的 velociti_publisher.cpp 文件指向生成 velocity_publisher 的可执行文件
(若你所需要进行操作的是python文件,那么不需要进行编译,因为python与c的编译性语言不同,解释性语言不需要进行编译生产可执行文件的步骤)


3.target_link_libraries

target_link_libraries(velocity_publisher ${catkin_LIBRARIES})

用于设置链接库。写出需要在编译与生成可执行文件过程中需要链接哪些库来完成编译。
格式:target_link_libraries( … … …)
第一个参数是可执行文件的名称,后面的参数为编译所依赖的库的名称。

以示例为介绍对象:
在编译生成velocity_publisher的时候,依赖catkin_LIBRARIES库。、


4.add_dependencies

add_dependencies(person_publisher ${PROJECT_NAME}_generate_messages_cpp)

用于设置依赖。在定义消息类型时,编译的可执行文件依赖这些动态生成的代码,需要使用${PROJECT_NAME}_generate_messages_cpp进行配置。
格式如下:add_dependencies( []…)

以示例为介绍对象,在设置person_publisher这个消息时需要依赖 ${PROJECT_NAME}_generate_messages_cpp)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子非_s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值