TTClassesは、TimesTenのインストール時にコンパイルおよび事前構成されます。 TTClassesを再コンパイルするには、make
(UNIX)またはnmake
(Windows)コマンドを使用します。 この章では、コンパイル・プロセスと、TTClassesのクイック・スタート・デモ・アプリケーションについて説明します。
TTClassesを使用するには、シェル環境変数が適切に設定されている必要があります。 次のいずれかのスクリプトを実行するか、またはログイン初期化スクリプト(.profile
または.cshrc
)でいずれかのスクリプトへのコールを追加します。この場合のinstall_dir
は、TimesTenインスタンスのインストール・ディレクトリです。
install_dir/bin/ttenv.sh (sh/ksh/bash) install_dir/bin/ttenv.csh (csh/tcsh)
PATHおよび共有ライブラリのロード・パスが適切に構成されたら、TTClassesディレクトリに移動して、TTClassesを再コンパイルできます。
$ cd install_dir/ttclasses
$ make
Windowsでは、インストール時または実行時に環境変数を設定できます。
install_dir\bin\ttenv.bat
TTClassesを再コンパイルする場合は、ttclasses
ディレクトリに移動します。この場合のinstall_dir
は、TimesTenインスタンスのインストール・ディレクトリです。
install_dir\ttclasses
再コンパイルの前に、PATH、INCLUDEおよびLIB環境変数が適切なVisual Studioディレクトリを指していることを確認してください。 PATH、INCLUDEおよびLIB環境変数を適切に設定するVCVARS32.BAT
(Visual C++ 6.0の場合)またはVSVARS32.BAT
(Visual Studio .NETの場合)という実行可能なバッチ・ファイルが、Visual Studioのディレクトリ・ツリー内にあります。
Visual Studio .NETを使用している場合は、次のようにして再コンパイルを行います。
install_dir\ttclasses> nmake /f Makefile.vsdotnet
または、VC++ 6.0を使用している場合は、次のようにして再コンパイルを行います。
install_dir\ttclasses> nmake
TTClassesのコンパイル時には、次のMakeターゲット・オプションを使用できます。
shared_opt
: 共有最適化済ライブラリをビルドします。
clean
: TTClassesライブラリおよびオブジェクト・ファイルを削除します。
注意: コンパイル時にオプションを指定しなかった場合、デフォルトはall です。 |
Makeターゲットを指定するには、コマンドラインでMakeターゲット名を使用します。
TTClassesの共有デバッグ・バージョンをビルドするには、次のコマンドを実行します。
(UNIX)
$ make clean shared_debug
(Windows)
install_dir\ttclasses> nmake clean shared_debug
クライアント/サーバー・モード用にTTClassesをコンパイルするには、MakefileCS
Makeファイルを使用します。
例2-1は、クライアント/サーバー・バージョンのTTClassesのビルド方法を示しています。
コンパイルの後、TimesTenインスタンスの全ユーザーがTTClassesを使用できるようにするために、ライブラリをインストールします。TTClassesをインストールするにはTTClassesをコンパイルする場合と異なる権限が必要なため、このステップはコンパイルには含まれません。
例2-2は、UNIXまたはLinuxシステムへTTClassesライブラリをインストールする手順を示しています。 Microsoft Windowsでは、コンパイル後にインストールが自動的に行われることに注意してください。
ほとんどのユーザーは、TTClassesのMakeファイルを操作する必要はありません。TTClassesのMakeファイルを手動で変更する必要がある場合は、TTClassesコンパイラ・マクロ用のフラグをMakeファイルに追加します。UNIXでは-D
flagname
を、Windowsでは/D
flagname
を追加します。
この項では、次のコンパイラ・マクロについて説明します。
「プラットフォーム固有のコンパイラ・マクロ」も参照してください。
TTClassesにC++例外をスローさせるには、-DTTEXCEPT
フラグを使用してTTClassesをコンパイルします。 すべてのTTClasses関数コールの前後にtry/catchブロックを配置し、TTStatus
型の例外を捕捉します。 「TTStatus」を参照してください。
C++ストリームには複数のタイプがあり、それぞれに互換性はありません。 TimesTenは2つの関連フラグを提供します。 アプリケーションの中で使用するストリームの型によって、次のように、使用するフラグが決定したり、またはいずれのフラグも使用しないことが決定します。
最新ではないが、比較的新しい型のストリームの場合(<iostream>
を含め、ostrstream
クラスを使用する)、いずれのフラグも使用しません。 これは、ほとんどのプラットフォームおよびコンパイラのデフォルトです。
最新の型のストリームの場合(<iostream>
を含め、ostringstream
クラスを使用する)、TTC_USE_STRINGSTREAMフラグを使用します。
古い型のストリームの場合(<iostream.h>
を含め、ostrstream
クラスを使用する)、USE_OLD_CPP_STREAMSフラグを使用します。 これは、一部の古いプラットフォームおよびコンパイラのデフォルトです。
TTClasses Makeファイルを確認して、いずれかのフラグが設定されているかどうかを調べます。 フラグが適切に設定されていない場合、Makeファイルを適切に更新して、TTClassesを再コンパイルした後、以前のTTClassesライブラリ・ファイルを再コンパイルしたものに置き換えます。
詳細を次の項で説明します。
前述のとおり、<iostream>
を含み、ostrstream
クラスを使用するC++ I/Oストリーム・コードを使用する場合は、TTC_USE_STRINGSTREAMフラグもUSE_OLD_CPP_STREAMSフラグも設定しないでください。 TTClasses Makeファイルにいずれかのフラグが設定されている場合は、行を削除して、TTClassesを再コンパイルします。
このコンパイラ・フラグは、最新のC++ストリーム型およびostringstream
クラスを確実にサポートするC++コンパイラで使用するためのものです。 プログラムで最新のストリーム型を使用する場合、TTClassesは-DTTC_USE_STRINGSTREAM
設定でコンパイルする必要があります。 これによって、プログラム・コードとの互換性を保つために、TimesTenでostringstream
および<iostream>
を使用できるようになります。
また、プログラムで最新のC++ストリームを使用する場合、USE_OLD_CPP_STREAMSフラグは、設定しないでください。 TTClasses Makeファイルに間違った設定があった場合は、修正してTTClassesを再コンパイルします。
注意: バージョン3.2以上のgcc では、デフォルトでTTC_USE_STRINGSTREAMフラグがinstall_dir /include/ttclasses/TTIostream.h に設定されています。 |
このコンパイラ・フラグは、<iostream>
をサポートしない、古いC++コンパイラのためのものです。 プログラムで古いC++ストリームを使用する場合(<iostream.h>
を含め、ostrstream
を使用する)、プログラム・コードとの互換性を維持するために、TTClassesは-DUSE_OLD_CPP_STREAMS
設定でコンパイルする必要があります。
また、プログラムで古いC++ストリームを使用する場合、TTC_USE_STRINGSTREAMフラグは、設定しないでください。 TTClasses Makeファイルに間違った設定があった場合は、修正してTTClassesを再コンパイルします。
追加のデバッグ情報を生成するには、-DTTDEBUG
を使用してTTClassesをコンパイルします。この追加情報はパフォーマンスを多少低下させるため、このフラグは(本番システムではなく)開発システムでのみ使用してください。
64-bitのTimesTenアプリケーションを作成する場合は、-DTT_64BIT
を使用してTTClassesをコンパイルします。
64-bitのTTClassesは、AIX、HP-UX、Solaris、Red Hat LinuxおよびTru64でテスト済であることに注意してください。
C++環境を構成した後、TimesTenクイック・スタート・デモ・アプリケーションをコンパイルおよび実行することで、すべてが適切に設定されたことを確認できます。 クイック・スタートのようこそページ(install_dir
/quickstart.html
)のサンプル・プログラムの下にあるリンクで、次の事項の説明を参照してください。
デモ・スキーマおよび設定: build_sampledb
スクリプトによって、サンプル・データベースおよびデモ・スキーマを作成します。 デモの使用を開始する前に、これを実行する必要があります。
デモ環境および設定: ttquickstartenv
スクリプト(通常、TimesTenの設定に使用するttenv
スクリプトのスーパーセット)によって、デモ環境を設定します。 いずれかのデモをコンパイルおよび実行するセッションに入るたびに、これを実行する必要があります。
デモおよび設定: install_dir
/quickstart/sample_code
ディレクトリの下にあるサブディレクトリには、TTClassesおよびXLA用のデモが提供されています。 デモのコンパイルおよび実行方法については、サブディレクトリにあるREADMEファイルを参照してください。
デモの動作: 各デモの概要が用意されています。