无法使用 catkin_make 构建 ROS 包。对包树感到困惑

Posted

技术标签:

【中文标题】无法使用 catkin_make 构建 ROS 包。对包树感到困惑【英文标题】:Not able to build ROS package with catkin_make. Confused by package tree 【发布时间】:2019-10-01 20:50:18 【问题描述】:

我希望从这个 github 页面运行存储在 vehicle/launch/ 中的 main.launchhttps://github.com/aureliopuebla/vehicle

我对使用 ROS 非常陌生,并且一直在学习,但是我似乎无法构建这些文件。 如果我尝试在父文件夹上使用 catkin_make,它会说没有现有的“src”文件夹。 如果我进入 /vehicle 文件夹,则有一个“src”文件夹,但如果我尝试在那里运行 catkin_make,那么它说我必须在工作区的根目录运行它。这让我有点难过。

我也尝试在 /vehicle 文件夹中运行“cmake ..”,然后是“make”,然后是“sudo make install”,但这只会在 /vehicle 文件夹中填充其他文件夹的副本父文件夹。

我要构建这些包的原因是能够使用roslaunch运行'/vehicle/launch'文件夹中的'main.launch'文件,但它一直说找不到其他包, 不管我做什么。

准备好解决任何问题。谢谢您的帮助。

【问题讨论】:

我一直在关注 ROS 教程寻求帮​​助,但在这种情况下主要使用 wiki.ros.org/ROS/Tutorials/BuildingPackages 和 wiki.ros.org/ROS/Tutorials/UsingRqtconsoleRoslaunch。 【参考方案1】:

文件夹中的 CMakeLists.txt 是*** CMakeLists。所以你需要自己制作这个 src 文件夹。 只需执行以下操作:

$ mkdir -p vehicle_ws && cd vehicle_ws
$ git clone https://github.com/aureliopuebla/vehicle.git
$ mv vehicle src
$ catkin_make

这样它应该可以工作。如果您已经创建了一个工作区,只需将mkdir -p vehicle_ws 省略,而只需将cd 加入其中即可。

【讨论】:

太好了,这似乎奏效了。现在解决其他问题,但如果有必要我会再发一篇文章。谢谢你。 :)

以上是关于无法使用 catkin_make 构建 ROS 包。对包树感到困惑的主要内容,如果未能解决你的问题,请参考以下文章

ROS catkin_make:重建包

ros学习笔记11——ROS中catkin_make install的用法

“CMake 错误:CMake 无法确定目标的链接器语言” 当我 catkin_make ROS 工作空间时出现错误

catkin / ROS:如何在使用子模块时正确指定包含路径

catkin_make 中的 cmake 版本与全局 cmake 版本不同?

在 ROS 工作空间中使用 catkin_make 时 Qt 出现的问题