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の導入を進めましょう.
- Eclipse Downloadsにて"Eclipse IDE for C/C++ Developers"をダウンロード(現行はeclipse-SDK-4.2.1-linux-gtk.tar.gz)
- $ sudo mv eclipse-SDK-4.2.1-linux-gtk.tar.gz /opt/
- $ cd /opt/
- $ sudo tar xzvf eclipse-SDK-4.2.1-linux-gtk.tar.gz
- $ 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'