catkin-tools

http://catkin-tools.readthedocs.io/en/latest/cheat_sheet.htmlhtml

一.Initializing Workspaces初始化工做空間

初始化具備默認佈局的工做區(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

二.Configuring Workspaces配置工做空間

查看當前配置:spa

        catkin config

設置和復位CMake選項:debug

        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: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 .)

四.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

本站公眾號
   歡迎關注本站公眾號,獲取更多信息