[Documentation] [TitleIndex] [WordIndex

パッケージをビルドする

自分のパッケージのシステム依存がインストールされていれば、新しいパッケージをビルドすることができます。

Note: aptやその他のパッケージマネージャーを使ってROSをインストールした場合はパッケージの依存関係は解消されています。

作業を続ける前に、環境セットアップファイルをsourceコマンドで忘れずに設定しておきましょう。Ubuntuで環境を構築しているなら、以下のようにして設定します:

$ source /opt/ros/hydro/setup.bash

catkin_makeを使う

catkin_makeは標準的なcatkinのワークフローを便利にするコマンドラインツールです。catkin_makeは標準的なCMakeのワークフローのcmakemakeの呼び出しを結合していると想像できるでしょう。

使い方:

#catkinワークスペースの中で
$ catkin_make [make_targets] [-DCMAKE_VARIABLES=...]

標準的なCMakeのワークフローに慣れていない人は、以下の説明を参考にしてください:

Note: これはCMakeが一般的にどう働くかの単なる一例ですので、以下のコマンドを走らせても動作しません。

# CMakeのプロジェクトの中で
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make install  # (optionally)

このプロセスはそれぞれのCMakeのプロジェクトごとに実行されます。これとは対照的に、catkinプロジェクトではワークスペース単位で一緒にビルドされます。ワークスペース内のゼロから多数までのcatkinパッケージをビルドするには以下のワークフローに従います:

# catkin ワークスペースの中で
$ catkin_make
$ catkin_make install  # (optionally)

上記のコマンドは、srcの中のいかなるcatkinプロジェクトをもビルドします。これはREP128の推奨方針に従っています。もし自分のソースコードがmy_srcといった違う場所にあるときは、catkin_makeを以下のように呼びます:

Note: my_srcが存在しなければ、以下のコマンドを実行しても動作しません。

# catkin ワークスペースの中で
$ catkin_make --source my_src
$ catkin_make install --source my_src  # (optionally)

catkin_makeのより高度な使い方については、 catkin/commands/catkin_makeのドキュメントを参照してください。

自分のパッケージをビルドする

自分のコードをビルドする人は、CMakeLists.txtを編集する必要があるかもしれませんので、後で扱うチュートリアル(C++)/(Python) も、参照してください。

前のチュートリアルパッケージの作成catkin workspacebeginner_tutorialsと名付けた新しいcatkinパッケージがあるはずです。このcatkinワークスペースの中に入り、srcフォルダの中を見てみましょう。

$ cd ~/catkin_ws/
$ ls src

前のチュートリアルでcatkin_create_pkgのコマンドで作ったbeginner_tutorialsフォルダがあるのが確認できたら、catkin_makeコマンドを使ってパッケージをビルドできます。

$ catkin_make

以下のような出力に似た、cmakeからの出力やmakeの出力を見るでしょう。

catkin_makeがそれぞれどこの'spaces'を使っているかのpathsを最初に表示していることに注意してください。この領域についての詳細はREP128とwikiのcatkinワークスペースについてのドキュメントcatkin/workspacesに記載されています。注目すべき重要なことは、自分のcatkinワークスペース内に作られたフォルダがこれらのデフォルト値となっていることです。lsを使って見てみましょう。

$ ls

buildフォルダはbuild spaceのデフォルト位置で、cmakemakeが環境設定しパッケージをビルドする場所です。develフォルダはdevel spaceのデフォルト位置で、自分のパッケージのインストールに先んじて、実行ファイルとライブラリが入る場所です。


2022-05-28 12:40