Visual Studio 2005でUSB Viewのビルド方法

http://blogs.dion.ne.jp/onechu_blog/archives/8701402.html

を参考にしてやっとビルドできた。

以下、引用

usbview.exeですが、概要はこちらをご覧ください。

で、そのビルド方法は次の通り。なお、手順中の「WDKROOT」はWDKのインストールディレクトリ、WDKVERSIONはWDKのバージョンのフォルダを示します。わんちゅうの環境だと、WDKROOTは「C:\WinDDK」,WDKVERSIONは「7600.16385.0」となります。

1. Visual C++を起動し、「空のプロジェクト」で新しくプロジェクトを作成する(名前は適当に。ここでは「UsbViewer」とする)
2. WDKROOT/WDKVERSION/src/usb/usbview に格納されているファイルすべてをUsbViewerのフォルダにコピーする
3. コピーしたファイルのうち、拡張子が「c」のファイルを[ソースファイル]に、拡張子が「.h」のファイルをヘッダファイルに、拡張子が「.ico」、「.cur」、「.rc」のファイルを「リソースファイル」にそれぞれ追加する。(追加後のソリューションエクスプローラはこちら)
4. プロジェクトのプロパティの[C/C++]-[全般]を開き、「追加のインクルード ディレクトリ」に「WDKROOT/WDKVERSION/inc/crt/」と「WDKROOT/WDKVERSION/inc/api」を追加する
5. 同じく[リンカ]-[全般]を開き、「追加のライブラリ ディレクトリ」に「WDKROOT/WDKVERSION/lib/wlh/i386」と「WDKROOT/WDKVERSION/lib/wxp/i386」を追加する
6. 同じく[リンカ]-[コマンドライン]を開き、「追加のオプション」に「CFGMGR32.LIB COMCTL32.LIB setupapi.lib」を追加する。追加後、プロパティを閉じる。
7. 「usbview.rc」のコードを開き、次のようにコードを変更する

//#if WINNT
#include
//#else
//#include
//#endif

#ifdef VER_PRODUCTVERSION_STR
#define VER_PRODUCTVERSION_STR 1
#endif

〜〜〜しばらく下にいって〜〜〜

//#include

8. ビルドを実行


こんな感じでできると思います。

プロジェクトプロパティでのディレクトリとコマンドの追加を行った時点でビルドを実行すると、「version.hが見つかりません」とエラーが出ます。これを回避する為に、usbview.rcに変更を加えています。

とりあえず、これでビルドが通るようになるので、あとはブレークポイントを張るなりしてプログラムの動きを解析できるようになります。
本当に感謝しています。