From: Charlie Savage Date: 2011-08-28T08:11:02+09:00 Subject: [ruby-core:39150] [Ruby 1.9 - Bug #5243][Open] VC 2010 Has stdint.h - Patch to Fix Build Files Issue #5243 has been reported by Charlie Savage. ---------------------------------------- Bug #5243: VC 2010 Has stdint.h - Patch to Fix Build Files http://redmine.ruby-lang.org/issues/5243 Author: Charlie Savage Status: Open Priority: Normal Assignee: Category: core Target version: 1.9.3 ruby -v: ruby 1.9.3dev (2011-08-28 revision 33105) [i386-mswin32_100] VC 2010 added the c99 include file . However, the Ruby makefiles in win32 have not taken this into account. This causes problems when compiling extensions that require . A good example of this is the ffi gem. Here is what happens: 1. From config.h -> typedef signed char int8_t; 2. Then from stdint.h -> typedef signed char int8_t; That turns into: typedef signed char signed char; Which causes this error: c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(17): warning C4114: same type qualifier used more than once c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(17): error C2632: 'char' followed by 'char' is illegal The attached patch updates win32/Makefile.sub to understand that VC2010 and higher have . I have successfully built and tested this patch using VC 2010. -- http://redmine.ruby-lang.org