CAPIビルド環境¶
CAPIの事前準備¶
アプリケーションでCAPIを使用するため、まずは基本的なビルド環境が必要です。各OSによって変わります:
- Windows
- Visual Studio 2010 以降を必要とします。”Express” だと 32bit CAPIアプリ, プラグインしかビルドできませんが、 “Professional” バージョンであれば 64-bitビルド に使えます。(訳注:”Express”であっても WinSDK8.1A を入れれば64bitビルド可能ですが煩雑な設定が必要になります)非VSコンパイラであっても CAPI のビルドは可能ですがサポートいたしません。
- Linux
- C and/or C++ コンパイラのインストールが必要です。CAPI は gcc version 4.xコンパイラによりビルドしています。現代的なバージョンの gcc, あるいは他の C,C++コンパイラであっても機能するはずです。ただしサポートいたしません。
- Mac OS X
- Xcode 4.2 以降のインストールが必要です。
さらに、CAPI が依存するライブラリがシステムにインストールされている必要があります。ただしこの条件は Fabric Core のインストールプロセスの一部として自動的に満たされます。
最後に、CAPIサンプルを(変更なしに)ビルドするには、ビルドツールの SCons バージョン2.x.x が必要です。Scons 配布ファイルは http://www.scons.org/ にあります。OSに存在する一般的なパッケージマネージャを使用してもよいでしょう。Linux であれば apt や yum, Mac OS X であればMacPorts (see http://www.macports.org/)
CAPIファイル と 環境変数 FABRIC_DIR
¶
CAPI は Fabric Engine と一緒にシステムにインストールされます。スクリプト中では、環境変数 FABRIC_DIR
をシステム上のFabric Engine をインストールしたディレクトリに設定します。インストール処理において、CAPI ファイル群は $FABRIC_DIR
(環境変数 FABRIC_DIR
の値)のサブフォルダにコピーされます。具体的には以下:
CAPI header ファイルは $FABRIC_DIR/include
サブフォルダ以下
CAPI sharedライブラリ は $FABRIC_DIR/lib
サブフォルダ以下
CAPI のサンプルソースファイルは $FABRIC_DIR/CAPI/Samples
サブフォルダ以下
CAPI ライブラリリンク¶
CAPI をコンパイルする際、CAPIライブラリの種類に応じ、 FEC_STATIC or FEC_SHARED どちらを使用するか定義します。CAPIライブラリと静的リンクするのであれば(Linux/OSX であれば .a ファイル / Windowsであれば static .lib) FEC_STATIC と設定します。一方動的ライブラリとして(Linux であれば .so ファイル / OSXであれば .dylib / Windowsであれば .lib + .dll) FEC_SHARED と定義しましょう。
これらの定義を使用すると、 Windowsであれば dllimport によりAPIコールが最適化され、LinuxやOSXであれば一貫性と将来に渡る互換性を保つことができます。
サンプルのビルド¶
CAPI にはサンプルコードが付属しています。各OSでビルドと実行可能です。 $FABRIC_DIR/CAPI/Samples
ディレクトリにあり、現時点での内容は以下となっています:
C/HelloWorld/...
- Cインタフェースを使用した “HelloWorld” アプリ
CPP/HelloWorld/...
- C++ インタフェースを使用した “HelloWorld” アプリ
サンプルをビルドする前に、まずソースコードを別の場所へとコピーしておくことをお薦めします(サンプルディレクトリでそのままビルドするのではなく)。
サンプルのビルドには、プラットフォームに応じたコマンドラインを開き、サンプルのコピーのあるディレクトリへ移動し scons とコマンドを実行します。実行ファイルを作ります。サンプルのビルドディレクトリから実行可能です。
CAPI を他のビルドシステムやプロジェクトから使用するには¶
他のビルドシステムやプロジェクトと、CAPIの使用を統合するには、C/C++ コンパイラとリンカに幾つかオプションを設定する必要があります。OSや、コンパイラに依存する工程に従うのではなく、Fabricではより高次のステップを提供しています。CAPIを使用するどの C/C++ プロジェクトやビルドシステムにも適用できます。
$FABRIC_DIR/include
を include (header) 検索パスに追加する
$FABRIC_DIR/lib
にある CAPI ライブラリ (.lib/.so) を追加する。共有ライブラリの名前はOSと CAPIバージョン により変わりますが、FabricCore-X.Y
X
, Y
は インストールした Fabric Core のメジャー、マイナーバージョン(eg. 1.5
)となります。
CAPI ヘッダを C/C++ ソース・ファイルの最上部で確実にインクルードします。以下のようにします:
#include <FabricEngine/FabricCore.h>