Goodbye, World

日々のプログラミングで得た経験を個人的な備忘録としてまとめてます.他のブログ・ページを参考させて頂いている部分が多いので,参考ページへのリンクを併記しております.

ROSのコーディングのためのIDE:Eclipse編

ROSを使ったプログラム開発を行っていますが,やはりIDEによるコードコンプリートやデバッグ機能は必須だと感じます.

そこで今回はIDEの定番Eclipseの導入方法をまとめました.使用した環境はUbuntu 14.04,ROS indigo,対象言語はC++です.

参考サイト:IDEs - ROS Wiki, Installing Eclipse to Ubuntu 13.10, 13.04, 12.04 | The Software Notes


IDEs - ROS Wikiに記載されている方法をなぞりながらEclipseの導入を進めましょう.

  1. Eclipse Downloadsにて"Eclipse IDE for C/C++ Developers"をダウンロード(現行はeclipse-SDK-4.2.1-linux-gtk.tar.gz)
  2. $ sudo mv eclipse-SDK-4.2.1-linux-gtk.tar.gz /opt/
  3. $ cd /opt/
  4. $ sudo tar xzvf eclipse-SDK-4.2.1-linux-gtk.tar.gz
  5. $ sudo gedit /usr/share/applications/eclipse.desktop で下記を入力
[Desktop Entry]
Name=Eclipse
Type=Application
Exec=/opt/eclipse/eclipse ####要変更:後述####
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE
Name[en]=eclipse.desktop
Exec=env UBUNTU_MENUPROXY=0 /opt/eclipse/eclipse ####要変更:後述####

最後に /usr/share/applications/eclipse.desktopを左のDASH BARにドラッグアンドドロップしてショートカットを登録しましょう.

基本的なEclipseの導入は以上です.
しかしこちらのPC環境では下記のようなエラーが出ました.

A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse.
No Java virtual machine was found after searching the following locations: /opt/eclipse/jre/bin/java
java in your current PATH

どうやらJava関連のファイルが不足しているとのことなので,次のコマンドで関連ファイルをインストールするとエラーが消えました.

$ sudo apt-get install default-jre


また,現状ではROS関連のインクルードファイル・ライブラリへのパスが通っていませんので,eclipse.desktopの4行目と11行目を一部書き換えます.

Exec=bash -i -c "/opt/eclipse/eclipse"
Exec=env UBUNTU_MENUPROXY=0 bash -i -c "/opt/eclipse/eclipse"


最後に,catkin_wsの各パッケージのEclipse projectファイルを生成します.

$ catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles"
$ awk -f $(rospack find mk)/eclipse.awk build/.project > build/.project_with_env && mv build/.project_with_env build/.project


あとは,Eclipseメニューの File -> Import... -> C/C++ -> Existing Code as Makefile Project で catkin_ws/build を選択すれば,[Source directory]@buildプロジェクトに各パッケージのファイルが現れます.
個別に読み込みたい場合は,Import対象をcatkin_ws/src/packageとすればいいです.


Eclipseプロジェクトを読み込んだだけでは未定義等のエラーがたくさん出ていると思いますので,iostream等の基本的なインクルードファイルへのパスを通すため,buildプロジェクトを右クリックして,
properties -> C/C++ general -> Preprocessor Include Paths, Macros etc. -> Tab:Providers -> CDT GCC Built-in Compiler Settings [Shared]
properties -> C/C++ general -> Code Analysis -> Use project settings
を選択しておいてください.


インストール終了後は,Eclipseに割くメモリの設定も忘れずに.
coffeegkgk.hatenablog.com



追記:
新しいプロジェクトをcatkin_wsに追加する度にEclipse projectファイルを生成する必要がありますが,コマンドを覚えるのは面倒なので,下記aliasを.bashrcに登録しておきましょう!
これで catkin_eclipse と打つだけで catkin_make と Eclipseファイルの生成を同時に行ってくれます.

alias catkin_eclipse='cd ~/catkin_ws && catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles" && awk -f $(rospack find mk)/eclipse.awk build/.project > build/.project_with_env && mv build/.project_with_env build/.project'