以下の方法でビルドをしてください。
DABroker for C++はマルチスレッド対応のライブラリなので,マルチスレッド動作用のコンパイルオプションやリンクする共有ライブラリを指定する必要があります。詳細については,OSに付属するオンラインマニュアル「aCC」,「pthread」を参照してください。
なお,64ビットモード用コンパイルオプションは使用しないでください。
コンパイル時の指定例を次に示します。少なくとも,以下の指定が必要です。"xxxx.cpp"には,ユーザプログラムのソースファイルを指定してください。
-Iオプションでは,DABroker運用ディレクトリの下のcpp/includeディレクトリを指定します。ここではDABroker運用ディレクトリが/opt/DABrokerの場合の例を示します。
aCC -c +DAportable -D_HPUX_SOURCE -D_POSIX_SOURCE
-D_POSIX_1003_1C -D_REENTRANT
-D_POSIX_C_SOURCE=199506L -I/opt/aCC/include
-I/opt/DABroker/cpp/include xxxx.cpp
コンパイラがac++ A.03.55以降の場合は-APオプションを指定してください。
aCC -c -AP +DAportable -D_HPUX_SOURCE -D_POSIX_SOURCE
-D_POSIX_1003_1C -D_REENTRANT
-D_POSIX_C_SOURCE=199506L -I/opt/aCC/include
-I/opt/DABroker/cpp/include xxxx.cpp
TPBrokerのOTSインタフェースを使ってトランザクション制御をする場合は,上記のほかに,TPBrokerが指定するコンパイルオプションも指定してください。
aCC -c -AP +DAportable -D_HPUX_SOURCE -D_POSIX_SOURCE
-D_POSIX_1003_1C -DDABCPP_SINGLE_THREAD -I/opt/aCC/include
-I/opt/DABroker/cpp/include xxxx.cpp
aCC -c -D_HPUX_SOURCE -D_POSIX_SOURCE
-D_POSIX_1003_1C -D_REENTRANT
-D_POSIX_C_SOURCE=199506L -I/opt/aCC/include
-I/opt/DABroker/cpp/include xxxx.cpp
-AP +DD32
リンケージ時の指定例を次に示します。少なくとも,以下の指定が必要です。"xxxx.out"は出力ファイル名を,"xxxx.o"はリンクするオブジェクトファイル名を指定してください。
-Lオプションでは,DABroker運用ディレクトリの下のlibディレクトリを指定します。ここではDABroker運用ディレクトリが/opt/DABrokerの場合の例を示します。
aCC -Wl,+s -oxxxx.out xxxx.o -L/opt/DABroker/lib -lpthread
-ldabcpp20
コンパイラがac++ A.03.55以降の場合は-APオプションを指定してください。
aCC -Wl,+s -AP -oxxxx.out xxxx.o -L/opt/DABroker/lib -lpthread
-ldabcpp20
TPBrokerのOTSインタフェースを使ってトランザクション制御をする場合は,上記のほかに,TPBrokerが指定するリンクオプションも指定してください。
また,TPBrokerのOTSインタフェースを使ってトランザクション制御する場合でHiRDB使用時は,必ずlibzcltyk.slをリンクしてください。
aCC Wl,+s -AP -oxxxx.out xxxx.o -L/opt/DABroker/lib -ldabcpp20st
aCC -Wl,+s -oxxxx.out xxxx.o -L/opt/DABroker/lib -lpthread
-ldabcpp32 -AP
TPBrokerのOTSインタフェースを使ってトランザクション制御する場合でHiRDB使用時は,必ずlibzcltyk.soをリンクしてください。