2014-10-16 44 views
2

我是ROS的新手。 正如本教程中介绍的那样,使用ROS时需要使用catkin工作区。 由教程给出的目录为:〜/ catkin_ws/ROS中catkin目录的编号

在工作区中的教程中构建了一个名为beginner_tutorials包。

问题是,如果一个柳絮工作空间仅用于一个项目(系统?),它基于几个包。如果我有另一个基于不同包装的项目,我是否应该使用同一个柔kin花工作区(即每个电脑/用户只有一个柔kin花工作区)?或者我应该创建一个新的catkin工作区(比如〜/ projectXX/catkin_ws /)。

谢谢。

+0

我个人使用一个柔kin花工作区为我的所有项目。这对我来说很好。我会说,一个catkin工作区是为一个系统而不是一个项目。 – Steffen 2014-10-17 06:59:41

回答

1

我会说这两个都很好,这取决于什么更适合你。

将所有东西放在一个工作区中是最简单最方便的方式,没有任何问题。另一方面,如果您正在处理彼此独立的不同项目,单独的工作空间会给您更多的结构(并且可能会在单独的项目中使用相同名称的包)。

如果您像我一样使用QtCreator作为IDE,甚至有理由对同一个项目使用多个工作区(使用setup.bash --extend)。 我使用一个工作区来处理我正在处理的软件包,另一个使用我需要的作为依赖项但我不编辑的所有软件包。 原因是,在QtCreator中,您通常会将整个工作区作为CMake项目打开,从而获取项目视图中列出的该工作区中的所有包。 通过使用独立的工作空间,我只看到了我感兴趣的软件包,另外编译时间减少了,因为只有此工作空间中的软件包才会检查更改。

+0

关于使用QtCreator打开CMakeLists.txt的注释:您可以打开src/package文件夹下的CMakeLists,而不是src下的CMakeLists。然后你选择sub build文件夹,那么你将不会打开QtCreator中的所有项目。 – 2014-10-31 19:16:47

+0

这并不适合我。也许我错过了一些选择,但我还没有想出如何让QtCreator使用正确的build和devel文件夹,而不必每次都手动设置所需的cmake参数(请参阅[关于ros回答的相关问题](http:/ /answers.ros.org/question/67244/qtcreator-with-catkin/)) – luator 2014-11-03 10:26:50

+0

是的,我在使用QtCreator打开src/package中的CMakeLists.txt之前运行过一次catkin_make。我想这样,正如帖子所说,catkin的设置是由QtCreator继承的。 – 2014-11-04 11:49:20