http://catkin-tools.readthedocs.io/en/latest/cheat_sheet.html
一.Initializing Workspaces初始化工作空间
初始化具有默认布局的工作区(src
/build
/devel
)在当前目录中:
catkin init catkin init --workspace . catkin config --init mkdir src && catkin build
在不同目录中具有默认布局:
catkin init --workspace /tmp/path/to/my_catkin_ws
显式扩展另一个工作区:
catkin config --init --extend /opt/ros/indigo
初始化具有源空间other_src
的工作空间:
catkin config --init --source-space other_src
or a workspace with build, devel, and install space ending with the suffix _alternate
:
catkin config --init --space-suffix _alternate
二.Configuring Workspaces配置工作空间
查看当前配置:
catkin config
设置和复位CMake选项:
catkin config --cmake-args -DENABLE_CORBA=ON -DCORBA_IMPLEMENTATION=OMNIORB catkin config --no-cmake-args
将安装切换到指定的安装空间:
catkin config --install
三.Building Packages编译包
[1]Build all the packages:
catkin build
...one at a time, with additional debug output[一次一个,额外的调试输出]:
catkin build -p 1
...迫使CMake重新配置每一个:
catkin build --force-cmake
[2]Build a specific package and its dependencies:
catkin build my_package
... or ignore its dependencies:
catkin build my_package --no-deps
[3]Build packages包含当前的工作目录:
catkin build --this
... but don’t rebuild its dependencies:
catkin build --this --no-deps
[4]Build packages有额外的CMake参数:
catkin build --cmake-args -DCMAKE_BUILD_TYPE=Debug
... and save them to be used for the next build:
catkin build --save-config --cmake-args -DCMAKE_BUILD_TYPE=Debug
Build all packages 在给定目录中:
catkin build $(catkin list -u /path/to/folder)
... or in the current folder:
catkin build $(catkin list -u .)
四.Cleaning Build Products
清理 the build, devel, and install spaces (if they exist):
catkin clean
... or just the build space:
catkin clean --build
... or just clean a single package:
catkin clean PKGNAME
... or just delete the build directories(生成目录) for packages which have been disabled or removed:
catkin clean --orphans
五.Create Packages
快速创建workspace中的catkin packages:
Creates catkin workspace resources like packages:
catkin create pkg
六.Environment Utility
It can be used to both print the current environment variables and run a command in a modified (修改的)environment.It is primarily used in the build stage command reproduction.
Run an arbitrary command in a modified environment:
catkin env [-h] [-i] [-s] [NAME=VALUE [NAME=VALUE ...]] [COMMAND] [ARG [ARG ...]]
七.List Package Info
It is used to find and list information about catkin packages. By default(默认情况下), it will list the packages in the workspace containing the current working directory. It can also be used to list the packages in any other arbitrary directory.
Lists catkin packages in the workspace or other arbitray folders:
catkin list [-h] [--workspace WORKSPACE] [--profile PROFILE] [--deps | --rdeps] [--depends-on [PKG [PKG ...]]] [--rdepends-on [PKG [PKG ...]]] [--this] [--quiet] [--unformatted]
八.Locate Directories定位路径
It can be used to locate important locations in the workspace such as the active source
, build
, devel
, and install
spaces, and package directories in the workspace.
Get the paths to various locations in a workspace:
catkin locate [-h] [--workspace WORKSPACE] [--profile PROFILE] [-e] [-r] [-q] [-s | -b | -d | -i] [--shell-verbs] [--examples] [PACKAGE]
九.Manage Profiles
创建所有应用程序服务器运行时环境。该命令创建概要文件,即定义 Deployment Manager、定制概要文件或独立应用程序服务器的运行时环境的文件集合。
It has several sub-commands for profile management.有多个子命令用于配置文件管理
Manage config profiles for a catkin workspace:
catkin profile [-h] [--workspace WORKSPACE] {list,set,add,rename,remove} ... sub-command help: list List the available profiles. set Set the active profile by name. add Add a new profile by name. rename Rename a given profile. remove Remove a profile by name.
十.Controlling Color Display控制彩色显示
Disable colors when building in a shell that doesn’t support it (like IDEs):
catkin --no-color build
... or enable it for shells that don’t know they support it:
catkin --force-color build
十一.Profile Cookbook
Create “Debug” and “Release” profiles and then build them in independent build and devel spaces:
catkin config --profile debug -x _debug --cmake-args -DCMAKE_BUILD_TYPE=Debug catkin config --profile release -x _release --cmake-args -DCMAKE_BUILD_TYPE=Release catkin build --profile debug catkin build --profile release
-
快速从头开始建立一个包Quickly build a package from scratch to make sure all of its dependencies are satisfied, then clean it:
catkin config --profile my_pkg -x _my_pkg_test catkin build --profile my_pkg my_pkg catkin clean --profile my_pkg --all
十二.Manipulating Workspace Chaining操纵空间链接
Change from implicit to explicit chaining[从隐性到显性链接:]:
catkin clean catkin config --extend /opt/ros/indigo
Change from explicit to implicit chaining:
catkin clean catkin config --no-extend
十三.Building With Other Job Servers
Build with distcc
:
CC="distcc gcc" CXX="distcc g++" catkin build -p$(distcc -j) -j$(distcc -j) --no-jobserver
总结:
catkin init
– Initialize a Workspace初始化
catkin config
– Configure a Workspace配置
catkin build
– Build Packages编译
catkin clean
– Clean Build Products
catkin create
– Create Packages
catkin env
– Environment Utility
catkin list
– List Package Info
catkin locate
– Locate Directories
catkin profile
– Manage Profiles