Visual Studio 2008による作成例
WTLを用いたサンプルプロジェクトをビルドするために、
WTLをダウンロード
してファイルを展開し、インクルードパスを通しておく必要があります。(WTLのバージョンは7.5で動作確認しています)
Visual Studio 2008で mqsdk.sln を開きます。
ソリューションファイルはVisual Studio.NET 2002用なので変換するかどうかを要求されますが、変換して開いてください。
メニュー「ファイル」「追加」「新しいプロジェクト」を呼び出します。
プロジェクトの種類「VisualC++ - Win32」からテンプレート「Win32 プロジェクト」を指定し、適当なプロジェクト名を付けます。
この画面では「完了」ではなく「次へ」を選んでください。
アプリケーションの種類として「DLL」を選び、追加のオプションで「空のプロジェクト」をチェックします。これでmqsdkの下にフォルダを持つ新規プロジェクトが作成されます。
作成したいプラグインと同じタイプのプラグインのCPPファイル(例えばCreateプラグインの場合 Spring.cpp など)をコピーし、ファイル名を変えて保存します。
保存したCPPファイルと MQInit.cpp をプロジェクトに加えます。
CPPファイルの内容を編集し、独自のプログラムを作成します。この際、MQGetPlugInID()、MQGetPlugInName()などの関数は必ず適当なものに書き換えて下さい。
作成したプロジェクトの「プロパティ」で、「C/C++」カテゴリ内の「全般」欄の「追加のインクルード ディレクトリ」に「..」を加えます。これでmqsdkフォルダ内に含まれるMQPlugin.hをコピーせずに正常にコンパイルすることが出来るようになります。
また、
「
全般
」カテゴリ内の「
文字セット
」に「
マルチバイト文字セットを使用する
」を
指定します。Unicode文字セットを使用すると、SDKに含まれるソースコードがそのままではビルドが通りません。
必要に応じてソリューションの設定を「Debug」または「Release」にして、プロジェクトをビルドします。これでプラグインは完成です。
Visual C++ 2008 Express EditionでWTLを含むプロジェクトをビルドした場合、「fatal error C1083: ファイル 'atlbase.h' を開くことができません。」とエラーが発生してstdafx.hのコンパイルに失敗します。WDK(Windows Driver Kit)にatlbase.hが含まれているようですが、詳細についてはWebで調べてください。
また、Visual C++ 2008 Express Editionではリソースファイル(.rcファイル)のコンパイルに失敗します。.rcファイル内の次のコードをコメントアウトし、
#include "afxres.h"
以下のコードに置き換えてください。
#include <windows.h> #define IDC_STATIC -1
Debug用として作成した場合は、プロジェクトのプロパティの「デバッグ」カテゴリ内の「コマンド」にMetaseq.exeを選びます。これで作成したDLLのデバッグを行うことができます。