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>