[Kde-bindings] Building QtRuby for Qt/Embedded
Richard Dale
rdale at foton.es
Sat Feb 20 17:03:42 UTC 2010
On Saturday 20 February 2010 04:57:21 pm Steffen Beyer wrote:
> On Fri, 19 Feb 2010 18:24:35 +0000, Richard Dale wrote:
> > That looks good. I think you will need to remove the QtOpenGL
>
> > initialization for the qtopengl smoke lib from qtruby.cpp:
> Had to remove some more stuff:
>
> --- qtruby.cpp.orig 2010-02-20 16:51:56.000000000 +0000
> +++ qtruby.cpp 2010-02-20 16:52:33.000000000 +0000
> @@ -49,7 +49,7 @@
> #include <smoke/qtgui_smoke.h>
> #include <smoke/qtxml_smoke.h>
> #include <smoke/qtsql_smoke.h>
> -#include <smoke/qtopengl_smoke.h>
> +// #include <smoke/qtopengl_smoke.h>
> #include <smoke/qtnetwork_smoke.h>
> #include <smoke/qtsvg_smoke.h>
> #include <smoke/qtdbus_smoke.h>
> @@ -2113,10 +2113,12 @@
> rb_ary_push(class_list,
> rb_str_new2(qtsql_Smoke->classes[i].className));
> }
>
> + /*
> for (int i = 1; i <= qtopengl_Smoke->numClasses; i++) {
> if (qtopengl_Smoke->classes[i].className &&
> !qtopengl_Smoke->classes[i].external)
> rb_ary_push(class_list,
> rb_str_new2(qtopengl_Smoke->classes[i].className));
> }
> + */
>
> for (int i = 1; i <= qtnetwork_Smoke->numClasses; i++) {
> if (qtnetwork_Smoke->classes[i].className &&
> !qtnetwork_Smoke->classes[i].external)
> @@ -2339,7 +2341,7 @@
> init_qtgui_Smoke();
> init_qtxml_Smoke();
> init_qtsql_Smoke();
> - init_qtopengl_Smoke();
> + // init_qtopengl_Smoke();
> init_qtnetwork_Smoke();
> init_qtsvg_Smoke();
> init_qtdbus_Smoke();
> @@ -2350,7 +2352,7 @@
> INIT_BINDING(qtgui)
> INIT_BINDING(qtxml)
> INIT_BINDING(qtsql)
> - INIT_BINDING(qtopengl)
> + // INIT_BINDING(qtopengl)
> INIT_BINDING(qtnetwork)
> INIT_BINDING(qtsvg)
> INIT_BINDING(qtdbus)
>
> Now I'm stuck here:
>
> [root at centibel ~]# ruby -r Qt -e exit
> ASSERT failure in QList<T>::operator[]: "index out of range", file
> /usr/local/include/QtCore/qlist.h, line 447
> Aborted
Hmm, not sure what this is - can you try running under gdb and getting a stack
trace of where the assert fails?
> Another point: usually I start an application with the "-qws" parameter to
> let it act as "master". Does this still work for QtRuby applications?
Yes, it should work. When you initialize an app with Qt::Application.new(ARGV)
whatever is in ARGV should be passed to Qt.
-- Richard
More information about the Kde-bindings
mailing list