How install correctly in windows 10

Hi guys,
Is 1 week that I’m trying to install middleman!!

When I try to do “gem install middleman” my cmd return me this error:

Temporarily enhancing PATH to include DevKit…
Building native extensions. This could take a while…
ERROR: Error installing middleman:
ERROR: Failed to build gem native extension.

current directory: C:/Ruby22/lib/ruby/gems/2.2.0/gems/fast_blank-1.0.0/ext/fast_blank

C:/Ruby22/bin/ruby.exe -r ./siteconf20161119-7476-1ab5a68.rb extconf.rb
creating Makefile

current directory: C:/Ruby22/lib/ruby/gems/2.2.0/gems/fast_blank-1.0.0/ext/fast_blank
make “DESTDIR=” clean

current directory: C:/Ruby22/lib/ruby/gems/2.2.0/gems/fast_blank-1.0.0/ext/fast_blank
make “DESTDIR=”
generating fast_blank-i386-mingw32.def
compiling fast_blank.c
In file included from c:/Ruby22/include/ruby-2.2.0/ruby.h:33:0,
from fast_blank.c:2:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:118:14: error: size of array ‘ruby_check_sizeof_voidp’ is negative
In file included from c:/Ruby22/include/ruby-2.2.0/ruby.h:33:0,
from fast_blank.c:2:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function ‘rb_obj_freeze_inline’:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1171:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1172:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1173:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1173:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function ‘rb_data_object_get’:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1207:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function ‘rb_obj_written’:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1286:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1286:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function ‘rb_num2char_inline’:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1359:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1359:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1359:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1359:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1359:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1359:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1360:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1360:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1360:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function ‘rb_class_of’:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1685:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function ‘rb_type’:
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1702:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c: In function ‘rb_str_blank_as’:
fast_blank.c:34:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:34:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:35:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:35:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:35:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:36:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:36:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:36:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:38:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:38:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:38:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:38:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:38:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c: In function ‘rb_str_blank’:
fast_blank.c:87:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:87:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:88:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:88:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:88:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:89:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:89:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:89:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:91:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:91:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:91:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:91:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
fast_blank.c:91:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
make: *** [fast_blank.o] Error 1

make failed, exit code 2

Gem files will remain installed in C:/Ruby22/lib/ruby/gems/2.2.0/gems/fast_blank-1.0.0 for inspection.
Results logged to C:/Ruby22/lib/ruby/gems/2.2.0/extensions/x86-mingw32/2.2.0/fast_blank-1.0.0/gem_make.out

Pls help me!!
Sorry for my bad english.
Davide