Project

General

Profile

Actions

Bug #3632

closed

win32 (MSVC)でsnapshotをmakeできない

Added by arton (Akio Tajima) over 13 years ago. Updated almost 13 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3dev (2010-07-29 trunk 28783) [i386-mswin32]
Backport:
[ruby-dev:41905]

Description

=begin
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
=end

Actions #1

Updated by nobu (Nobuyoshi Nakada) over 13 years ago

  • Category set to core
  • Status changed from Open to Closed

=begin
Fixed at r28818.
=end

Actions

Also available in: Atom PDF

Like0
Like0