[TOPPERS] JSPカーネルのWindowsシミュレータをVisual C++ 2008で使うには

TOPPERSプロジェクトから新世代カーネルであるASPカーネルが公開されてから約半年になりますが、現在でも一世代前のJSPカーネルを使用する機会は少なくないと思います。とくに、ASPカーネルにはWindowsシミュレータがないため、Windowsシミュレータを使いたい場合はJSPカーネルを選択せざるを得ないのも事実です。

ところが、JSPカーネルのWindowsシミュレータはもう何年もメンテナンスされておらず、付属しているプロジェクトファイルもVisual C++ 6.0のものです。これを、最新の開発環境であるVisual C++ 2008でビルドしようとしても、大量のエラーが発生し、とても使える状態ではありません。

そこで、今回はとりあえずVisual C++ 2008でビルドを行い、実行する方法を解説することにします。ざっと動作することは確認しましたが、十分な検証は行っていませんので、実際に使用する際は各自の責任で行ってください。

まず最初に、Windows依存部のソースコードを修正します。修正するのは、jsp\config\windows\vwindows.hの下記の箇所です。

#ifndef __VWINDOWS_H
#define __VWINDOWS_H

/*
* Windowsヘッダ 衝突回避用インクルードファイル
*/

#ifdef NULL
#define ALREADYDEFINED_NULL
#endif
#undef NULL

#define SIZE wSIZE
#define BOOL wBOOL
/*#define NULL wNULL*/ ← この部分をコメントアウト
#include <windows.h>
#undef NULL
#undef SIZE
#undef BOOL

#ifdef ALREADYDEFINED_NULL
#define NULL (0)
#undef ALREADYDEFINED_NULL
#endif

#endif

これでとりあえずコンパイルは通るはずです。先にコンフィギュレータをビルドしておくことを忘れないでください。ビルドの最後に、ビルドイベントとしてチェッカを実行するのですが、Visual C++ 2008ではこれが失敗します。チェッカを通さなくても動作はしますので、チェッカの実行を止めることで対応することにしましょう。

プロパティ設定画面

プロジェクトのプロパティで、ビルド後のイベントを設定します。コマンドラインの欄にチェッカ(chk.exe)を呼出す命令が書かれていますので、これを消してください。これで、ビルドは一通り成功するはずです。

この記事のトラックバックURL:

http://www.kijineko.co.jp/trackback/328
このエントリーを含むはてなブックマーク