Visual Studioによる作成例

Visual Studio 2008(SP1)/2010/2012/2013に対応しています。画面はVisual Studio 2010のものですが、他のバージョンでもほとんどが共通となっており、操作が異なる場合にのみ各バージョンでの操作を記載しています。

  1. Visual Studioで mqsdk.sln を開きます。
    Visual Studio 2010/2012/2013の場合はプロジェクトを変換するダイアログが表示されるので、指示に従ってプロジェクトを変換してください。

  2. WTLを用いたサンプルプロジェクトをビルドするために、WTLをダウンロードしてファイルを展開し、インクルードパスを通しておく必要があります。WTLのバージョンは7.5で動作確認しています。
    (ダイアログなどのGUI生成には独自のウィジェットの利用を推奨していますので、WTLを使ったサンプルプロジェクトをビルドしない場合はこの設定は不要です。)

    Visual Studio 2008の場合、「プロジェクトおよびソリューション > VC++ディレクトリ」で設定します。


    Visual Studio 2010/2012/2013の場合、「構成プロパティ > VC++ディレクトリ」で設定します。


  3. メニュー「ファイル > 追加 > 新しいプロジェクト」を呼び出します。

  4. プロジェクトの種類「VisualC++ > Win32」からテンプレート「Win32 プロジェクト」を指定し、適当なプロジェクト名を付けます。


  5. この画面では「完了」ではなく「次へ」を選んでください。


  6. アプリケーションの種類として「DLL」を選び、追加のオプションで「空のプロジェクト」をチェックします。これでmqsdkの下にフォルダを持つ新規プロジェクトが作成されます。



  7. 既存のプロジェクトは既に32/64bit両方の設定がされていますが、新規に作成されたプロジェクトは初期状態では32bitアプリケーション用のDLLしか作成されません。
    メニュー「ビルド > 構成マネージャー」を開き、「アクティブソリューションプラットフォーム」に「x64」を選択し、作成したプロジェクト用のプラットフォーム欄のプルダウンから「新規作成」を選択します。表示されるダイアログでそのまま「OK」を押すと、32bit用の設定をコピーする形で64bit用の設定が作成されます。


  8. 「アクティブソリューション構成」の「Debug」「Release」それぞれに対して、「プラットフォーム」に「x64」を選択し、「ビルド」のチェックをONにして構成マネージャーを閉じます。
    これで各ソリューション構成・プラットフォームに対してビルドが行われるようになります。


  9. 作成したいプラグインと同じタイプのプラグインのCPPファイル(例えばCreateプラグインの場合 Spring.cpp など)をコピーし、ファイル名を変えて作成したプロジェクトのフォルダに保存します。

  10. 保存したCPPファイルと MQInit.cpp をプロジェクトに加えます。(MQInit.cpp以外のファイルも必要になる場合、併せて追加します。)

  11. 作成したプロジェクトの「プロパティ」で、「構成」に「すべての構成」、「プラットフォーム」に「すべてのプラットフォーム」を選択してから、「全般」欄の「出力ディレクトリ」と「中間ディレクトリ」にそれぞれ
      Visual Studio2008の場合: $(PlatformName)\$(ConfigurationName)
      Visual Studio2010/2012/2013の場合: $(Platform)\$(Configuration)
    を設定します。 これで作成したプロジェクトのフォルダの下にWin32/x64のDebug/Releaseのビルド結果がそれぞれ出力されるようになります。


  12. 「C/C++」カテゴリ内の「全般」欄の「追加のインクルード ディレクトリ」に「..」を加えます。これでmqsdkフォルダ内に含まれるMQPlugin.hなどのヘッダファイルをコピーせずにコンパイルできるようになります。


  13. CPPファイルの内容を編集し、独自のプログラムを作成します。この際、MQGetPlugInID()、MQGetPlugInName()などの関数の実装は必ず適当な内容に書き換えて下さい。

  14. 必要に応じてソリューションプラットフォームを「Debug」または「Release」、ソリューション構成を「Win32」または「x64」にして、プロジェクトをビルドします。これでプラグインは完成です。



    Visual C++ 2008/2010 Express EditionでWTLを含むプロジェクトをビルドした場合、「fatal error C1083: ファイル 'atlbase.h' を開くことができません。」とエラーが発生してstdafx.hのコンパイルに失敗します。WDK(Windows Driver Kit)にatlbase.hが含まれているようですが、詳細についてはWebで調べてください。

    また、Visual C++ 2008/2010 Express Editionではリソースファイル(.rcファイル)のコンパイルに失敗します。.rcファイル内の次のコードをコメントアウトし、
    #include "afxres.h"
    以下のコードに置き換えてください。
    #include <windows.h>
    #define IDC_STATIC -1
    


  15. Debug用として作成した場合は、プロジェクトのプロパティの「デバッグ」カテゴリ内の「コマンド」にMetaseq.exeを選びます。これで作成したDLLのデバッグを行うことができます。