Thank you two for answering.
I already had the intention of submitting a bug report, but -- I just couldn't
find such a possibility at rubyforge. Am I just blind? If you know where to
submit a bug report, please tell me and I'll do.
Btw. I removed the cast to void* from line 1145 and it did actually compile
after then..
But trying
require 'Qt'
in irb produces a segmentation fault
regards,
jochen
Am Dienstag 13 Juli 2004 19:14 schrieb Paul Brannan:
> On Wed, Jul 14, 2004 at 01:40:23AM +0900, Jochen Immendörfer wrote:
> > Hi,
> >
> > I am trying to compile qtruby. Unfortunally it failed with the following
> > error message:
> >
> > Qt.cpp: In function `VALUE initialize_qt(int, VALUE*, VALUE)':
> > Qt.cpp:1145: error: ISO C++ forbids cast to non-reference type used as
> > lvalue make[5]: *** [Qt.lo] Fehler 1
>
> I'm not a qtruby developer and I don't have Qt 3.2, so I can't check any
> of this, but it looks like a bug.
>
> Lines 1144-1145 read:
>
> smokeruby_object * p = 0;
> Data_Get_Struct(temp_obj, smokeruby_object, (void *) p);
>
> And this expands to:
>
> smokeruby_object * p = 0;
> Check_Type(temp_obj, T_DATA); (void *) p =
> (smokeruby_object*)DATA_PTR(temp_obj);
>
> Which is not valid C++ (older versions of g++ accept it, but neither
> como nor g++ 3.4 does).
>
> There's really no good reason I can think of for the cast to void*,
> anyway. You should submit a bug report.
>
> Paul