3.5.2 MQT実行形式プログラムの作成(UNIX)
MQTメイン関数とUOCをコンパイルし,OpenTP1およびTP1/Message Queueで提供する各種ライブラリを結合して,UOCを含むMQT実行形式プログラムを作成します。UNIXを使用する場合のMQT実行形式ファイルの作成方法,および作成時の注意事項について,次に示します。
なお,ここでは,C言語で作成したUOCオブジェクトファイルおよびMQTメイン関数オブジェクトファイルからMQT実行形式ファイルを作成する方法を示します。C言語の形式(ANSI形式,K&R形式),C++言語で作成する場合,コンパイラの種類によってはコマンドオプションが異なりますので,詳細はコンパイラのマニュアルを参照してください。
- 〈この項の構成〉
(1) C言語で作成する例
- MQTメイン関数オブジェクトファイルを作成するコマンド
cc -c※1 -I$DCDIR※2/include MQTメイン関数ソースファイル名
- UOCオブジェクトファイルを作成するコマンド
cc -c※1 -I$DCDIR※2/include UOCソースファイル名
- MQT実行形式プログラムを作成するコマンド
mqtpltcp -A -o 実行形式プログラム名※3 -m MQTメイン関数オブジェクトファイル名 〔-i UOCオブジェクトファイル名1 -i UOCオブジェクトファイル名2 …〕 〔-l ユーザ固有ライブラリ〕 〔-P〕※4 〔-Q〕※4〔-e〕※5
- 注※1
-
AIXで64ビット版TP1/Message Queueを使用する場合は,オプション「-q64」を追加してください。
HP-UX(IPF)で64ビット版TP1/Message Queueを使用する場合は,オプション「+DD64」を追加してください。
64ビット版Linuxで32ビット版TP1/Message Queueを使用する場合には,オプション「-m32」を追加してください。
- 注※2
-
$DCDIRは,OpenTP1の格納ディレクトリです。
- 注※3
-
MQT実行形式プログラム名は,先頭がmqtuで始まる8文字以内の名称です。
作成したMQT実行形式プログラムは,$DCDIR/lib/servers配下に格納してください。
- 注※4
-
-Pオプションと-Qオプションを指定することで,実行するリンケージコマンドが決まります。使用する環境に合わせて,オプションを指定してください。
言語仕様と想定するリンケージコマンドを次に示します。
OS
言語仕様と想定するリンケージコマンド
C言語の場合
C++言語の場合
AIX
xlc
xlC
HP-UX
cc
CC,aCC
Linux
gcc
gcc
-Pオプションと-Qオプション指定時に実行するリンケージコマンドを次に示します。
OS
オプション指定時に実行するリンケージコマンド
-P指定の場合
-Q指定の場合
-P,-Q指定の場合
AIX
xlC
xlc
xlc
HP-UX
CC
aCC
cc
Linux
gcc
gcc
gcc
なお,-Pオプションと-Qオプションを同時に指定した場合,あとに指定したオプションが有効になりますので注意してください。
- 注※5
-
64ビット版Linuxで32ビット版TP1/Message Queueを使用する場合には,-eオプションを追加してください。
(2) MQT実行形式プログラム作成時の注意事項
-
OpenTP1,およびユーザ固有ライブラリは,次に示す順序で検索されます。
-
$DCDIR
-
ライブラリパス環境変数の指定ディレクトリ
ユーザ固有ライブラリを$DCDIR以外の場所に格納している場合,ライブラリパス環境変数にユーザ固有ライブラリの格納ディレクトリを指定したあと,mqtpltcpコマンドを実行してください。なお,ライブラリパス環境変数の詳細は,ldコマンドの仕様を参照してください。
-
-
mqtpltcpコマンドの実行結果は,次に示すログメッセージで表示されます。
-
正常終了の場合
Completed to make the uCosminexus TP1/Message Queue(MQT) executable file 実行形式プログラム名
-
異常終了の場合
Failed to make the uCosminexus TP1/Message Queue(MQT) executable file 実行形式プログラム名
-