なお、この段階ではまだ問題が発生します。 [Problems] a.ファイルサイズが大きい b.デバッグビルドが作れない [Solutions] a.についてはgnu_gettext.dllやzlibを動的にリンクするように設定すればいいだけですが、 実行速度の面で特に不利もないし面倒なので各自で考えてください。 b.についてはVC6のデバッグビルドの仕様のためで、一つのヘッダファイルの分岐マクロで定義したものが、 別のソースファイルに継承されないため構文エラーとなることが原因です。 具体的にはPsxCommon.hで変数の型が別名でマクロ定義されている箇所 (↓この部分)を各ヘッダファイルに書き込んでやればOKとなります。
// Basic types typedef __int8 s8; typedef __int16 s16; typedef __int32 s32; typedef __int64 s64; typedef unsigned __int8 u8; typedef unsigned __int16 u16; typedef unsigned __int32 u32; typedef unsigned __int64 u64; |
PsxCommon.h(修正前:79行目から) | PsxCommon.h(修正後) |
#ifdef ENABLE_NLS #include <libintl.h> #undef _ #define _(String) dgettext (PACKAGE, String) #ifdef gettext_noop # define N_(String) gettext_noop (String) #else # define N_(String) (String) #endif #else #define _(msgid) msgid #define N_(msgid) msgid #endif |
#include <libintl.h> #define _(String) dgettext (PACKAGE, String) #define N_(String) (String) |
#ifdef _MSC_VER_ みたいな分岐部分も外してやると多少デバッグの実行速度が上がるかも。