P
Philliam Auriemma
Hey guys,
I am writing a ruby extension in C++ that exposes a function to ruby,
and then opens a ruby interpreter that loads a file that can call the
function.
I am following the Pragmatic Programmers guide to embedding and
extending ruby. I have a function defined like this:
static VALUE Send (VALUE length, VALUE capMode, VALUE dev, VALUE pack)
then later to register it, there is this:
VALUE cTest;
void Init_Send() {
cTest = rb_define_module("rpacket");
rb_define_module_function(cTest, "Send", Send, 4);
}
However, when compiling, I get this error:
error C2664: 'rb_define_module_function' : cannot convert parameter 3
from 'VALUE (__cdecl *)(VALUE,VALUE,VALUE,VALUE)' to 'VALUE (__cdecl *)
(...)'
Anyone know why it's failing?
I am writing a ruby extension in C++ that exposes a function to ruby,
and then opens a ruby interpreter that loads a file that can call the
function.
I am following the Pragmatic Programmers guide to embedding and
extending ruby. I have a function defined like this:
static VALUE Send (VALUE length, VALUE capMode, VALUE dev, VALUE pack)
then later to register it, there is this:
VALUE cTest;
void Init_Send() {
cTest = rb_define_module("rpacket");
rb_define_module_function(cTest, "Send", Send, 4);
}
However, when compiling, I get this error:
error C2664: 'rb_define_module_function' : cannot convert parameter 3
from 'VALUE (__cdecl *)(VALUE,VALUE,VALUE,VALUE)' to 'VALUE (__cdecl *)
(...)'
Anyone know why it's failing?