ruby2.2.2在msvc2010上编译

ruby2.2.2在msvc2010上编译有些问题,主要是msvc2010不支持c99,ruby有些扩展源代码例如ffi.c局部变量没有在block的起始位置定义,导致编译器报错。

办法

1.用支持c99的编译器,把msvc2010丢到垃圾桶里。

2.继续使用本应丢到垃圾桶里msvc2010,在这些变量上加上作用域。

 

另外,ruby构建默认使用/O2(/O2sy- 最大速度最小体积不做fpo)优化,为了更有利于调试,可以把它改为/Od,修改win32目录下Makefile.sub文件,查找OPTFLAGS。

 

详细分析ruby解析器参考

https://ruby-hacking-guide.github.io/

posted on 2015-07-22 16:34  rickerliang  阅读(283)  评论(0编辑  收藏  举报

导航