そもそもマメに書くほうじゃなかったですが・・・わりとマトモなネタを書くのはえらい久しぶりなので、ちょっと緊張しています。。。
今までVC8にてlibxmlを使用してましたが、自宅にVS2008も入れたことだしVC9でコンパイルしてみました。
手順は今まで通り、ソースのzipを展開→win32フォルダのconfigure.jsを実行→iconvのヘッダ・ライブラリをコピー→nmake -f makefile.msvc ですが。。。
はい、コンパイル時にエラーです。
お答えは検索したらこちらにありました。
・win32/Makefile.msvc修正 66行目以降
LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX)
LIBS =
!if "$(WITH_FTP)" == "1" || "$(WITH_HTTP)" == "1"
LIBS = $(LIBS) wsock32.lib ※ここを【LIBS = $(LIBS) wsock32.lib ws2_32.lib】に。 ws2_32.lib追加
!endif
!if "$(WITH_ICONV)" == "1"
LIBS = $(LIBS) iconv.lib
・include/win32config.h修正 92行目以降
#if defined(_MSC_VER)
#define mkdir(p,m) _mkdir(p)
#define snprintf _snprintf
#if _MSC_VER < 1500 ※追加 VC9より前のバージョンでのみ有効
#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
#endif ※追加
#elif defined(__MINGW32__)
#define mkdir(p,m) _mkdir(p)
#endif
メイクファイル、ヘッダファイルを修正後、configure.jsを再実行→再メイクで正しくコンパイルできました。
他のライブラリでも同様の問題があるっぽいですね。。。