rjb
Windows2000 + cygwin + ruby-1.8.2 + jdk1.4.2_07 な環境で rjb-0.1.9 の setup を試みたがうまくいかず。
- > bin
<--- bin
- > ext
/usr/bin/ruby /home/ksh/rjb-0.1.9/ext/extconf.rb
checking for jni.h... yes
creating Makefile<--- ext
- > data
- > data/rjb
<--- data/rjb<--- data
ksh% ruby setup.rb setup
- > bin
<--- bin
- > ext
make
gcc -g -O2 -I/cygdrive/c/j2sdk1.4.2_07/include -I/cygdrive/c/j2sdk1.4.2_07/include/win32 -I. -I/usr/lib/ruby/1.8/i386-cygwin -I/usr/lib/ruby/1.8/i386-cygwin -I/home/ksh/rjb-0.1.9/ext -DNONAMELESSUNION -DHAVE_JNI_H -c load.c
In file included from /cygdrive/c/j2sdk1.4.2_07/include/jni.h:27,
from load.c:38:
/cygdrive/c/j2sdk1.4.2_07/include/win32/jni_md.h:16: error: parse error before "jlong"
/cygdrive/c/j2sdk1.4.2_07/include/win32/jni_md.h:16: warning: data definition has no type or storage class
(以下大量にでる)
やはりASR入れるべきか。
とりあえず #include
#define __int64 long long
なんて書いて逃げてみた。(弱すぎ)
ksh% more jarh.rb
require 'rjb'o = Rjb::import('java.lang.System').out
o.println('jarh')p o._classname
ksh% ruby jarh.rb
jarh
"java.io.PrintStream"
ksh%
おお、すばらしい。