From: Akio Tajima Date: 2010-07-31T00:37:54+09:00 Subject: [ruby-dev:41905] [Bug #3632] win32 (MSVC)でsnapshotをmakeできない Bug #3632: win32 (MSVC)でsnapshotをmakeできない http://redmine.ruby-lang.org/issues/show/3632 起票者: Akio Tajima ステータス: Open, 優先度: Normal ruby -v: ruby 1.9.3dev (2010-07-29 trunk 28783) [i386-mswin32] snapshotをwin32(VC++6)でnmakeしようとすると、以下のエラーとなります。理由はsize_tが未定義だからです。 cl -nologo -MD -Zi -W2 -O2b2xg- -G6 -Zm600 -DRUBY_EXPORT -I. -I.ext/incl ude/i386-mswin32 -I./include -I. -I./missing -Focbrt.obj -c -Tc./missing/cbr t.c cbrt.c ./include\ruby/missing.h(172) : error C2061: 構文エラー : 識別子 'strlcpy' がシンタックス エラーを起こしました。 ./include\ruby/missing.h(172) : error C2059: 構文エラー : ';' ./include\ruby/missing.h(172) : error C2059: 構文エラー : 'type' ./include\ruby/missing.h(176) : error C2061: 構文エラー : 識別子 'strlcat' がシンタックス エラーを起こしました。 ./include\ruby/missing.h(176) : error C2059: 構文エラー : ';' ./include\ruby/missing.h(176) : error C2059: 構文エラー : 'type' NMAKE : fatal error U1077: 'cl' : リターン コード '0x2' Stop. cbrt.cがmissing.hをincludeして(1.9.2-preview3ではincludeしていません)、かつstddef.hのincludeがmissing.hによって行われているのですが、しかしmissing.hでstddef.hをincludeするかをHAVE_STDDEF_Hでチェックしていて、かつwin32/Makefile.subにHAVE_STDDEF_Hが未定義なのが原因です。 --- Makefile.sub~ Mon Jul 26 18:18:21 2010 +++ Makefile.sub Sat Jul 31 00:22:37 2010 @@ -409,6 +409,7 @@ #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 +#define HAVE_STDDEF_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 !if $(MSC_VER) >= 1400 ---------------------------------------- http://redmine.ruby-lang.org