Bug #5243
closedVC 2010 Has stdint.h - Patch to Fix Build Files
Description
VC 2010 added the c99 include file <stdint.h>. However, the Ruby makefiles in win32 have not taken this into account.
This causes problems when compiling extensions that require <stdint.h>. A good example of this is the ffi gem.
Here is what happens:
- From config.h -> typedef signed char int8_t;
- 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 <stdint.h>. I have successfully built and tested this patch using VC 2010.
Files