アプリケーションのコンパイルおよびリンク
Windows上と、Linux上またはUNIX上でのCアプリケーションのコンパイルおよびリンクの方法について説明します。
Windowsでのアプリケーションのコンパイルおよびリンク
/I
コンパイラ・オプション設定で、TimesTen includeファイルの場所を指定する必要があります。 「TimesTenのインクルード・ファイル」を参照してください。
適切なライブラリを次のようにリンクします。
-
ネイティブのWindowsドライバ・マネージャ
odbc32.lib
に直接リンクします -
または、TimesTenドライバのいずれかに直接リンクします。
-
直接モードの場合:
tten221.lib
およびttdv221.lib
-
クライアント/サーバー・モードの場合:
ttclient221.lib
-
TimesTenライブラリをその他のライブラリより前にリンクします。
また、アプリケーションで次のことが実行される必要があります。
-
timesten.h
(TimesTenのインクルード・ファイル)を含めます。これにより、標準のODBCファイルも自動的に含まれます。「TimesTenのインクルード・ファイル」を参照してください。 -
TimesTenのファイルを他のインクルード・ファイルより前に含めます。
この例のMakeファイルでは、WindowsシステムでTimesTenアプリケーションを構築する方法が示されています。この例では、timesten_home
\install\lib
がLIB
環境変数にすでに追加されていることを前提としています(ttenv.bat
を実行すると追加されます)。
CFLAGS = "/Itimesten_home\install\include" LIBSDM = ODBC32.LIB LIBS = tten221.lib ttdv221.lib LIBSDEBUG = tten221d.lib ttdv221d.lib LIBSCS = ttclient221.lib # Link with the ODBC driver manager appldm.exe:appl.obj $(CC) /Feappldm.exe appl.obj $(LIBSDM) # Link directly with the TimesTen # ODBC production driver appl.exe:appl.obj $(CC) /Feappl.exe appl.obj\ $(LIBS) # Link directly with the TimesTen # ODBC debug driver appldebug.exe:appl.obj $(CC) /Feappldebug.exe appl.obj\ $(LIBSDEBUG) # Link directly with the TimesTen # ODBC client driver applcs.exe:appl.obj $(CC) /Feapplcs.exe appl.obj\ $(LIBSCS)
ノート:
-
TimesTenのデフォルトはODBC 3.5です。ODBC 2.5の定義および型を使用するには、コンパイラ設定
-DODBCVER=0x0250
を使用します。 -
Windowsでは、インストールごとに1つのみTimesTenインスタンスがあり、
timesten_home
はinstallation_dir
\instance
を指します。 -
timesten_home
\install
ディレクトリは、installation_dir
へのシンボリック・リンクです。
LinuxまたはUNIXでのアプリケーションの直接コンパイルおよびTimesTenドライバを使用したリンク
LinuxまたはUNIXプラットフォームでTimesTenドライバを使用してTimesTenアプリケーションを直接コンパイルする方法について説明します。
-
TimesTenインストールの
include
ディレクトリにあるTimesTenヘッダー・ファイルを使用して、TimesTenアプリケーションをコンパイルします。 -
TimesTen直接ドライバまたはTimesTenクライアント・ドライバとリンクします(これらは共有ライブラリとして提供されます)。
-
TimesTenライブラリをその他のライブラリより前にリンクします。
また、アプリケーションで次のことが実行される必要があります。
-
timesten.h
(TimesTenのインクルード・ファイル)を含めます。これにより、標準のODBCファイルも自動的に含まれます。「TimesTenのインクルード・ファイル」を参照してください。 -
TimesTenのファイルを他のインクルード・ファイルより前に含めます。
TimesTen機能を使用している場合にTimesTenのインクルード・ファイルを使用するには、Cコンパイラ・コマンドに次を追加します。
-Itimesten_home/install/include
TimesTen ODBCの直接ドライバとリンクするには、libtten.so
ライブラリのリンク・コマンドに次を追加します。
-Ltimesten_home/install/lib -ltten
-L
オプションを指定すると、リンカーでライブラリ・ファイル用のTimesTen lib
ディレクトリが検索されます。-ltten
オプションを指定すると、TimesTen ODBCの直接ドライバでリンクが行われます。
TimesTen ODBCのクライアント・ドライバとリンクするには、libttclient.so
ライブラリのリンク・コマンドに次を追加します。
-Ltimesten_home/install/lib -lttclient
AIXでは、アプリケーションとTimesTen ODBCクライアント・ドライバをリンクする場合、リンク・コマンドにはクライアント・ドライバの後にC++ランタイム・ライブラリを含める必要があります(クライアント・ドライバはC++で記述されており、AIXでは自動的にはリンクされないため)。
-Ltimesten_home/install/lib -lttclient -lC_r
「LinuxまたはUNIXでのアプリケーションのコンパイルおよびTimesTenドライバ・マネージャを使用したリンク」で説明されているように、TimesTenドライバ・マネージャを使用してリンクしている場合は、このライブラリを含める必要はありません。
クイック・スタートのsample_code
ディレクトリの下のサブディレクトリにあるMakeファイルを使用できます(「TimesTenクイック・スタートおよびサンプル・アプリケーションについて」を参照)、またはこの例を参考にして独自のMakeファイルを作成できます。
CFLAGS = -Itimesten_home/install/include LIBS = -Ltimesten_home/install/lib -ltten LIBSDEBUG = -Ltimesten_home/install/lib -lttenD LIBSCS = -Ltimesten_home/install/lib -lttclient # Link directly with the TimesTen # ODBC production driver appl:appl.o $(CC) -o appl appl.o $(LIBS) # Link directly with the TimesTen ODBC debug driver appldebug:appl.o $(CC) -o appldebug appl.o $(LIBSDEBUG) # Link directly with the TimesTen client driver applcs:appl.o $(CC) -o applcs appl.o $(LIBSCS)
ノート:
-
TimesTenは、デフォルトではODBC 3.5に対してコンパイルします。ODBC 2.5アプリケーションをコンパイルするには、コンパイル・オプション設定
-DODBCVER=0x0250
を使用します。 -
アプリケーションをデバッグTimesTen ODBCドライバに直接リンクするには、リンク行に
-ltten
のかわりに-lttenD
を指定します。
LinuxまたはUNIXでのアプリケーションのコンパイルおよびTimesTenドライバ・マネージャを使用したリンク
この項では、アプリケーションをTimesTenドライバ・マネージャ(Windowsではサポートされていない)とリンクするためのコマンドについて説明します。
前述の「LinuxまたはUNIXでのアプリケーションの直接コンパイルおよびTimesTenドライバを使用したリンク」の項の説明は、TimesTenの直接ドライバおよびクライアント/サーバー・ドライバに関する特定の説明に関してはいくつか例外がありますが、TimesTenドライバ・マネージャ(TTDM)を使用する場合にも当てはまります。ただし、次のことに留意してください:
-
通常どおり
timesten.h
を含めます。さらに、通常どおり他のTimesTenヘッダー・ファイルも含めます。アプリケーションでXLAを使用する場合は、tt_xla.h
を含めます。アプリケーションでTimesTenユーティリティAPIを使用する場合は、tt_utillib.h
およびttutil.h
を含めます。 -
ODBCの直接ドライバまたはクライアント/サーバー・ドライバのかわりに、TTDMライブラリ
libttdrvmgr.so
とリンクします。他のTimesTenライブラリとリンクしないでください。 -
サードパーティのドライバ・マネージャ・ライブラリとリンクしないでください。
例:
-Ltimesten_home/install/lib -lttdrvmgr
Makefileでは、次のようになります:
CFLAGS = -Itimesten_home/install/include LIBTTDM = -Ltimesten_home/install/lib -lttdrvmgr # Link with TTDM applcs:appl.o $(CC) -o applcs appl.o $(LIBTTDM)