本帖最后由 chasing 于 2020-9-13 19:40 编辑
习惯使用了catkin_make, 又接触到了catkin build。 起因在v s c o d e vscodevscode中开发ROS工程,好像vscode 发现工程有某个路径不对,然后提示修改了工程配置,手快点击了确认…然后,就发现再也编译不了修改的源文件了(显示在编译,其实并没有…),这种情况之前也遇到过,解决方法是重新建立一个工作空间,catkin_init_workplace 走一遍,无奈ROS工程下没有一个clean,实在不方便。 使用方法首先安装 - sudo apt-get install python-catkin-tools
复制代码
然后参照官网快速的可以建立一个ROS工程,还是比较方便的,官网传送门 - mkdir -p test/src
- cd test
- catkin init
- cd src
- catkin create pkg pkg_a # Populate the source space with packages...
- catkin create pkg pkg_b
- catkin create pkg pkg_c --catkin-deps pkg_a
- catkin create pkg pkg_d --catkin-deps pkg_a pkg_b
- catkin list
- cd ..
- catkin build
- catkin clean
复制代码对于已经使用cakin_init_workspace建立的工作空间,只需要把build和devel删除掉,然后再执行编译就可以了。 优势- 有catkin clean了,而且clean之后只有一个src文件夹了,这比较方便上传github了。
- 可以单独编译某一个功能包以及对应的依赖,这样方便了功能包的管理。不在需要每个工程够构建一个功能包了。
- 界面比较炫酷。
- 附带的指令内容可以单独编译等,具体还没有研究过。
Appendix在ROS包从github上下载的时候,有时候仓库作者的代码包有一些依赖关系,已经wrapped in the .rosinstall 中,此时需要通过wstool工具进行关联下载即可。(ROS offical document建议采用vcstool代替 wstool工具,但是前者没有成功,带后期再进行尝试) - 首先建立工程.rosinstall 文件,wstool init /src
- 进行合并 wstool merge -t src “target_repo”/depedence.rosinstall
- 更新 wstool update -t src -j4 ,此时会下载对应的github仓库代码文件
- 设计关联编译 catkin config --merge-devel
- 编译 catkin build
|