引き続き開発環境の整備を継続する。Leap Motion Controller のアプリケーション開発を、Fedora 19 + Eclipse CDT 環境で準備した。なぜ未だにC++なのか? 一番細かいことができるからである。様々なツール環境の便利さを重々承知の上で言うが、お手軽環境に慣れてしまうと、お手軽環境でできることしか発想できなくなる気がして怖いのだ。
試行錯誤の上で、次のような手順で開発環境が手に入った。正しいかどうかは保証の限りではない。
- /usr/lib64 に、/usr/lib64/Leap のライブラリのシンボリックリンクを作成 ( # ln -s /usr/lib64/Leap/* /usr/lib64 )
- /usr/lib に、/usr/lib/Leap のライブラリのシンボリックリンクを作成(不要かも) ( # ln -s /usr/lib/Leap/* /usr/lib )
- Eclipse CDT 環境を準備(既に入っていたので詳細は省略) Fedora 19 で Keplar に上がっていた。
- C++プロジェクトを作成し、include パスを指定する。また、ライブラリに Leap を指定する(これで libLeap.so を読みに行く。最初うっかり libLeap を指定してしばらくハマった)。
- SDK の samples 内の Sample.cpp を参考にしながら、Listner を継承したクラスを作成する。私は、main と他のクラス定義とは分離しないと気がすまない。
#include#include #include #include "MyListener.h" using namespace std; using namespace Leap; int main() { // Create a sample listener and controller MyListener listener; Controller controller; // Have the sample listener receive events from the controller controller.addListener(listener); // Keep this process running until Enter is pressed std::cout < < "Press Enter to quit..." << std::endl; std::cin.get(); // Remove the sample listener when done controller.removeListener(listener); return 0; }