3.5.3 MQT実行形式プログラムの作成(Windows)

MQTメイン関数とUOCをコンパイルし,OpenTP1およびTP1/Message Queueで提供する各種ライブラリを結合して,UOCを含むMQT実行形式プログラムを作成します。Windowsを使用する場合のMQT実行形式ファイルの作成方法,および作成時の注意事項について,次に示します。

<この項の構成>
(1) ANSI CまたはC++で作成する場合

(1) ANSI CまたはC++で作成する場合

MQTメイン関数オブジェクトファイルを作成するコマンド

cl /c /MD MQTメイン関数ソースファイル名 /I %DCDIR%¥include

%DCDIR%は,OpenTP1の格納ディレクトリです。
環境によって,コンパイル時にwarning C4996が出力される場合があります。この場合は,コンパイルオプションに-D_CRT_SECURE_NO_DEPRECATEを追加してください。
UOCオブジェクトファイルを作成するコマンド

cl /c /MD UOCソースファイル名 /I %DCDIR%¥include

MQT実行形式プログラムを作成するコマンド

link /NODEFAULTLIB
    /stack:4194304
    MQTメイン関数オブジェクトファイル名
    UOCオブジェクトファイル名1
    〔UOCオブジェクトファイル名2…〕
    %DCDIR%¥lib¥mtcqerp_sstb.obj
    〔ユーザ固有ライブラリ〕
    %DCDIR%¥lib¥libbetran.lib
    %DCDIR%¥lib¥libtactk.lib
    %DCDIR%¥lib¥libmtcq.lib
    %DCDIR%¥lib¥libmqa.lib
    kernel32.lib※1
    msvcrt.lib※1
    oldnames.lib※1
    mswsock.lib※1
    version.lib※1
    ws2_32.lib※1
    -out:実行形式プログラム名※2

マニフェストファイルを埋め込む場合※3
 mt -manifest 実行形式プログラム名.manifest
    -outputresource:実行形式プログラム名※2

注※1
これらのライブラリの格納ディレクトリを,環境変数LIBに適切に設定してください。
注※2
MQT実行形式プログラム名は,先頭がmqtuで始まる8文字以内の名称です。
注※3
Visual Studio 2005以降で作成したUOCを次のOS上で動作させる場合,マニフェストファイルが必要です。
  • Windows 7
  • Windows Server 2003
  • Windows Server 2008
  • Windows Vista
  • Windows XP
マニフェストファイルを埋め込まない場合,プログラムを実行するフォルダ(%DCDIR%¥lib¥servers)にマニフェストファイルをコピーする必要があります。マニフェストファイルの詳細については,コンパイラのドキュメントを参照してください。
なお,Visual Studio 2010を使用してプログラムを作成している場合,マニフェストファイルが作成されないことがあります。この場合,マニフェストファイルは必須ではありません。