EssbaseAPIは、Essbaseがサポートするのと同じプラットフォーム、HP-UX、AIX、SolarisおよびLinuxでサポートされています。EssbaseAPIは、Essbaseがサポートするのと同じCPUアーキテクチャ(32ビットおよび64ビットに関して)をサポートします。『Oracle Hyperion Enterprise Performance Management Systemインストールおよび構成ガイド』を参照してください。
このトピックでは、APIを使用するアプリケーション・プログラムをUNIX上でコンパイルするために必要になる情報を説明します。
UNIX用のEssbaseAPIは、デフォルトのメモリー関数として、標準Cライブラリのメモリー割当て関数、malloc()、realloc()およびfree()を使用します。ESS_INIT_T初期化構造体のAllocFunc、ReallocFuncおよびFreeFuncフィールドでNULLを渡せば、デフォルトのメモリー関数を使用します。詳細は、Cプログラムにおけるメモリーの使用を参照してください。
EssAutoLogin()はEssbase APIのUNIXバージョンではサポートされません。
Essbase APIのUNIXバージョンを使用するときは必ず、UNIXのファイル命名ルールに従ってください。
HP-UX付属のファイル - HP-UX用のEssbase APIに付属のファイルのリストは、APIライブラリについての説明を参照してください。
共有ライブラリを検索する場所をリンカーに伝えるには、次のように-Lフラグを使用します:$(CC) file1.o file2.o -L /essbase/lib -lessapi \ $(LIBS) -o
libess*.slファイルはすべて、+sフラグと関連付けられています。これにより、リンクしたプログラムが実行されると、SHLIB_PATH検索パスを使用して、共有ライブラリの位置を確認できます。SHLIB_PATHに関する詳細は、HP-UXプログラミング・マニュアルを確認してください。
HP-UX上でのプログラムのリンク - Essbase6.0リリースでは、Essbaseと使用されるサード・パーティ・ライブラリとの互換性を維持するため、CCを使用してプログラムをリンクする必要があります。以前のバージョンを使用している場合、ldコンパイラをリンクのために使用する必要があります。
HP-UXのmakeファイルの例 - 次のサンプルは、HP-UX用のmakeファイルを示しています。
# Compiler Flags CC=cc CFLAGS = -I$(<Location of API>)/api/include -g # Library files; LIBS = -L$(<Location of API>)/api/lib -lessapinu -lessotlnu -lessgapinu main: main.o $(CC) -o $@ $^ $(LIBS) main.o: main.c $(CC) $(CFLAGS) $< -c -o $@
実際にAPIファイルがインストールされたディレクトリが反映されるように、また、必要なコンパイル・オプションを追加して、このmakeファイルの例を変更してください。
リンク行で、リンク先としてライブラリを3つしか指定しなくても、.slファイルは実行時にすべて使用可能である必要があります。
HP-UX64ビットのmakeファイルの例 - 64ビットHP-UXにおいては、コンパイラ・フラグ+DD64を使用します。リンカー・フラグは必要ありません。
# Compiler Flags CC=cc CFLAGS = +DD64 -I$(<Location of API>)/api/include -g # Library files; LIBS = -L$(<Location of API>)/api/lib -lessapinu -lessotlnu -lessgapinu main: main.o $(CC) -o $@ $? $(LIBS) main.o: main.c $(CC) $(CFLAGS) -c $< -o $@
実際にAPIファイルがインストールされたディレクトリが反映されるように、また、必要なコンパイル・オプションを追加して、このmakeファイルの例を変更してください。
リンク行で、リンク先としてEssbaseライブラリを3つしか指定しなくても、.soファイルは実行時にすべて使用可能である必要があります。
AIX付属のファイル- AIX用のEssbase APIに付属のファイルのリストは、APIライブラリについての説明を参照してください。
AIXのmakeファイルの例- 次のサンプルは、AIX用のmakeファイルを示しています。
# Compiler Flags CC=cc_r CFLAGS = -qcpluscmt -I$(<Location of API>)/api/include -g # Library files; LIBS = -L$(<Location of API>)/api/lib -lessapinuS -lessotlnuS -lessgapinuS main: main.o $(CC) -o $@ $^ $(LIBS) main.o: main.c $(CC) $(CFLAGS) $< -c -o $@
実際にAPIファイルがインストールされたディレクトリが反映されるように、また、必要なコンパイル・オプションを追加して、このmakeファイルの例を変更してください。
64ビットAIXについては、-q64 -DAIX64 -DBIT64コンパイラ・フラグおよび-b64リンカー・フラグを使用してください。
Solaris付属のファイル- Solaris用のEssbase APIに付属のファイルのリストは、APIライブラリについての説明を参照してください。
Solarisのmakeファイルの例- 次のサンプルは、Solaris用のmakeファイルを示しています。
# Compiler Flags CC=cc CFLAGS = -I$(<Location of API>)/api/include -g # Library files; LIBS = -L$(<Location of API>)/api/lib -lessapinu -lessotlnu -lessgapinu main: main.o $(CC) -o $@ $^ $(LIBS) main.o: main.c $(CC) $(CFLAGS) $< -c -o $@
実際にAPIファイルがインストールされたディレクトリが反映されるように、また、必要なコンパイル・オプションを追加して、このmakeファイルの例を変更してください。
64ビットSolarisについては、-xarch=generic64 -DBIT64コンパイラ・フラグおよび-xarch=generic64リンカー・フラグを使用してください。
Red Hat Linux付属のファイル- Red Hat Linux用のEssbase APIに付属のファイルのリストは、APIライブラリについての説明を参照してください。
Red Hat Linuxのmakeファイルの例- 次に示すリストは、GCCコンパイラを使用してRed Hat LinuxのAPIプログラムをコンパイルおよびリンクするためのmakeファイルの例です:
# Compiler Flags CC=gcc CFLAGS = -I$(<Location of API>)/api/include -g # Library files; LIBS = -L$(<Location of API>)/api/lib -lessapinu -lessotlnu -lessgapinu main: main.o $(CC) -o $@ $^ $(LIBS) main.o: main.c $(CC) $(CFLAGS) $< -c -o $@
Linux 64ビットのmakeファイルの例 - 64ビットLinuxにおいては、コンパイラ・フラグ-DBIT64を使用します。
# Compiler Flags CC=gcc CFLAGS = -I$(<Location of API>)/api/include -g -DBIT64 # Library files; LIBS = -L$(<Location of API>)/api/lib -lessapinu -lessotlnu -lessgapinu main: main.o $(CC) -o $@ $^ $(LIBS) main.o: main.c $(CC) $(CFLAGS) $< -c -o $@
実際にAPIファイルがインストールされたディレクトリが反映されるように、また、必要なコンパイル・オプションを追加して、このmakeファイルの例を変更してください。