首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >catkin_package与find_package

catkin_package与find_package
EN

Stack Overflow用户
提问于 2015-12-22 23:24:01
回答 2查看 4.6K关注 0票数 7

在文件CMakelists.txt中,我看到了find_packages和catkin_package:

find_package(catkin必需组件roscpp rospy

image_transport std_msgs message_generation sensor_msgs

geometry_msgs )

catkin_package( CATKIN_DEPENDS message_runtime std_msgs sensor_msgs geometry_msgs )

这两件事有什么不同?

我试着阅读了教程中的每个内容,但都不够清楚。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-23 17:03:37

答案基本上是由CMakeLists.txt中自动生成的注释给出的

代码语言:javascript
运行
复制
## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS ...

代码语言:javascript
运行
复制
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if you package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(...

find_package命令是常见的cmake命令,用于加载catkin宏并指定对其他ROS包的依赖关系。

catkin_package命令就是这些catkin宏之一。它负责包的特定于ROS的配置。因此,这是区分ROS包和普通cmake项目的关键部分。我不知道细节,但我猜它负责设置catkin工作区的正确构建路径。

当其他ROS包依赖于这个ROS包时,这里给出的参数(即依赖关系)很重要。

票数 5
EN

Stack Overflow用户

发布于 2018-09-04 05:56:54

Found another answer here:

find_package()查找此包的依赖项。

catkin_package(CATKIN_DEPENDS)声明依赖于此包的包的依赖关系。

因此,在您的示例中,依赖于您的包的任何包都需要以下依赖关系:

  • message_runtime
  • std_msgs
  • sensor_msgs
  • geometry_msgs
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34419103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档