http://catkin-tools.readthedocs.io/en/latest/cheat_sheet.htmlhtml
初始化具備默認佈局的工做區(src
/build
/devel
)在當前目錄中:shell
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
的工做空間:ui
catkin config --init --source-space other_src
or a workspace with build, devel, and install space ending with the suffix _alternate
:this
catkin config --init --space-suffix _alternate
查看當前配置:spa
catkin config
設置和復位CMake選項:debug
catkin config --cmake-args -DENABLE_CORBA=ON -DCORBA_IMPLEMENTATION=OMNIORB
catkin config --no-cmake-args
將安裝切換到指定的安裝空間:調試
catkin config --install
[1]Build all the packages:code
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 .)
清理 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
快速建立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.
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
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
catkin config --profile my_pkg -x _my_pkg_test catkin build --profile my_pkg my_pkg catkin clean --profile my_pkg --all
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
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 Productscatkin create
– Create Packagescatkin env
– Environment Utilitycatkin list
– List Package Infocatkin locate
– Locate Directoriescatkin profile
– Manage Profiles