Eviernote の API を使うには、Apache Thrift が必要とのこと、まずは Apache Thrift を動かしてみました。
ホームページ
ダウンロード...
- thrift-0.6.1.tar.gzをダウンロードして、展開、コンパイルなどという方法をとろうとしましたが、autoconf のバージョンが古いというのが出てきて、MacPorts で autoconf を入れました。
- そこでやっと気づいたのですが、MacPorts で Thrift が導入できるのではと。
MacPorts での Thrift 導入
先人に感謝です。以下のコマンドでインストールできました。バージョンが 0.6.0 ですが、まずはこれで試してみる事にします。
$ sudo port install thrift
チュートリアルの実行
tutorial/README ファイルをみながら試してみました。
C++ で試すとして、コンパイル。
$ thrift -r -gen cpp tutorial.thrift
gen-cpp ディレクトリにファイルが生成されました。
$ ls -1 gen-cpp Calculator.cpp Calculator.h Calculator_server.skeleton.cpp SharedService.cpp SharedService.h SharedService_server.skeleton.cpp shared_constants.cpp shared_constants.h shared_types.cpp shared_types.h tutorial_constants.cpp tutorial_constants.h tutorial_types.cpp tutorial_types.h
本来は、サーバーは Calculator_server.skeleton.cpp にコードを記述するところ、チュートリアルとして各言語の実装がされていますので、cpp ディレクトリのサーバとクライアントを make。その前に、Makefile 内のパスを修正。
: BOOST_DIR = /opt/local/include THRIFT_DIR = /opt/local/include/thrift LIB_DIR = /opt/local/lib :
make して、サーバ CppServer とクライアント CppClient を別ターミナルから実行。
$ ./CppServer Starting the server... ping() add(1,1) calculate(1,{4,1,0}) calculate(1,{2,15,10}) getStruct(1)
$ ./CppClient ping() 1+1=2 InvalidOperation: Cannot divide by 0 15-10=5 Check log: 5 $
確認バージョン
- Apache Thrift 0.6.0
- Xcode バージョン 3.2.5
- Mac OS X バージョン 10.6.7