開発環境
以降はC++の開発環境について説明します。Ruby、PHPやCOMクライアントを使用する場合は 開発者ガイドを確認のうえ次の API概要 に進んでください。
開発には、Trtansactdプラグインがインストールされたテスト用のMySQLサーバーが必要です。 テスト用サーバーはローカルであってもリモートであってもどちらでも構いません。
また、サーバーとクライアントのOS(Windows Linux)やCPU(32bit 64bit)は異なっていても構いません。
C++クライントは以下のコンパイラでのコンパイル済みクライアントバイナリーが準備されています。
Windows
Linux
また、以下のコンパイラーでビルドするためのプロジェクトファイルがソースコードに含まれています。
LinuxではGCC 4.4.4以降のコンパイラであればコンパイル済みバイナリーとリンクできます。 上記以外のコンパイラーを使用する場合は、コンパイル済みバイナリーは使用できません。ソース からクライントをそのコンパイラーでビルドして使用してください。
C++コンビニエンスAPIはLinuxの場合GCC4.3以上のバージョンのGCCが必要です。なるべくGCC4.3以上のコンパイラ とC++コンビニエンスAPIを利用することをお奨めします。
WindowsのコンパイラはVisual Studio 2010以上 Enbarcadero C++ Builder XE以上であればコンビニエンスAPIを使用できます。
C++コンビニエンスAPIはboost 1.39以上を必要とします。Enbacadero C++ Builderには boost Libray 1.39以上が付属しています。そのほかのコンパイラの場合はboost 1.39以上 をダウンロードしビルドします。boostのビルド方法は、Transactdのビルドガイドの中に ありますのでご覧ください。
Transactd ビルドガイド Windows
Transactd ビルドガイド Linux
またbootのルートフォルダをコンパイラのインクルードパスに追加します。 boost/boost_1_51_64といった名前のフォルダになります。
まず、お使いのプラットフォームの transactd-client_with_sdkをインストールします。
次に作成されるクライントアプリケーションのプロジェクトのインクルードパスにtransactd-client_with_sdkの sourceディレクトリを追加します。
また、boostのパスを環境変数やシステムインクルードパスに登録します。以下にコンパイラごとの方法を示します。
Visual Studio
C++ Builder XEシリーズ
[ツール]-[オプション]-[環境オプション]-[C++ オプション]-[パスとディレクトリ]の[システムインクルードパス]に
32Bitの場合 C: Files (x86) Studio\8.0
64Bitの場合 C: Files (x86) Studio\11.0
を追加します。
Linux
のようなディレクトリ構造であれば、修正なくビルドできます。
クラインアントライブラリとのリンクはライブラリパスにtransactd-client_with_sdkのlibディレクトリを追加します。 Windowsの場合、プリプロセッサ定義(条件定義)にTRDCL_AUTOLINK マクロを定義すると自動 で正しいバージョンにリンクできます。Linuxの場合は、makeのリンクオプションに-ltdclcpp_64mを 追加します。 以下はLinuxの場合のtestクライントのMakefileサンプルです。作成されるクライアントアプリケーション プロジェクトのMakefileのひな形にできます。
これでtrnasactd APIを使用したクライアントアプリケーションをコンパイルできます。
クライアントライブラリは、いくつかのベンダーから同じマシンにインストールされる可能性 があります。多くの場合、Windowsではsystem32ディレクトリLinuxでは/usr/lib(64)に インストールされます。そのため、コンパイラーやクライントのバージョンに よって、必要なライブラリが競合しないように名前付けを行っています。
バイナリ互換性がなくなる場合は、メジャーバージョンかマイナーバージョンがインクリメントされ、 そうでない場合はリリースバージョンがインクリメントされます。 これらを上書きインストールする場合は、リリースバージョンを確認し新しいものを上書きしない ように注意してください。(Linuxの場合はシンボリックリンクの上書き)
BizStationで配布されたバイナリ以外を使用する場合はなるべく、アプリケーション固有のディレクト リに配置して競合を避けるようにしてください。