catkin build
而不是catkin_make
? 我被告知
catkin build
更好,但是没有人告诉我这可以给我一个原因。#1 楼
主要区别是您使用catkin build
获得的隔离环境。这使得整个构建配置更加分隔,并且对配置更改(添加/删除程序包,修改cmake变量等)更健壮。此外,您还可以获得更好,更易于理解的颜色cmdline输出使整个体验更加愉悦。@SteveO的链接还提供了工具之间变化的一个很好的摘要。
添加到
catkin build
还可以得到很多其他信息带有catkin
的有用子命令,包括用于清洁catkin clean
,build
和devel
空间以及install
,catkin list
和catkin locate
的catkin profile
#2 楼
除了隔离的构建,使用起来更加方便:并行构建独立的程序包,这使得它运行起来更快。
catkin build
可以使用可以从工作区中的任何目录访问,而catkin_make
仅在顶级目录中运行。仅构建单个包(带有依赖项)很容易:
catkin build package_name
或从包目录调用catkin build --this
。添加--no-deps
可以跳过依赖项。(请注意,
catkin_make
具有--only-pkg-with-deps
标志,但在那里会导致持久设置,因此仅catkin_make
的下一次调用也只会构建此包,这非常不直观。)catkin clean
使得无需使用可怕的rm -rf
即可轻松擦除构建/开发。@bergercookie已经提到了一些其他有用的命令(列表,定位,...)。
评论
他们的文档描述了区别:catkin-tools.readthedocs.io/en/latest/migration.html