Getting GtkD working with OpenGL

Chalix via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Oct 3 04:50:09 PDT 2016


On Sunday, 18 September 2016 at 21:41:45 UTC, Mike Wey wrote:
> The demo still uses the old GtkGLExt binding, which usually 
> isn't available in de distributions repositories.
>
> The newer GLArea is easier to use since it's part of GTK.
>
> As for the linker errors, you'll need to link with the OpenGL 
> libraries:
> "-L-lGL -L-lGLU"

Hey, thanks for your fast answer! I had a lot of other work to 
do, so I could only continue working on this project now.

Yeah, that solved my problem :) Now it links. Although if I 
execute the program, it complains about the missing GtkGLExt 
library, like expected...
Library load failed: libgdkglext-3.0.so.0

So I wanted to install this library from here:
https://projects.gnome.org/gtkglext/download.html
but the ./configure script tells me,
No package 'pangox' found (pangox >= 1.0.0)

I looked at the folder /usr/lib/x86_64-linux-gnu/ and there is a 
file called "libpangox-1.0.so.0.0.0". So I don't know, why this 
is not working...

Anyway, I want to follow Mikes advice and use GLArea instead, so 
if there is not a quick fix available, lets skip the problems 
with the GtkGLExt library...



But, sadly enough, I did not get GLArea working, too. The 
documentation
https://developer.gnome.org/gtk3/stable/GtkGLArea.html
says, I have to connect my render function to the widget like 
this:
g_signal_connect (gl_area, "render", G_CALLBACK (render), NULL);
But, my compiler can't find the g_signal_connect method (and the 
GL Methods...):
main.d(22): Error: undefined identifier 'g_signal_connect'
main.d(39): Error: undefined identifier 'glClearColor'
main.d(40): Error: undefined identifier 'glClear'

There might some include files (or import files, as you say in D) 
missing, but I could not figure out, where to find them for D...

Could you tell me, where this g_signal_connect method can be 
found? And what I have to include for the GL functionality? 
Simply "import gtk.GLArea;" does not do the trick...

Btw, is g_signal_connect a GTK method? I intend to use my program 
platform independent, so if this is dependent on gnome, it would 
not be good.

Or is there any other way to get the GLArea working? I am used to 
the Qt Libraries, where you create a QGLWidget and simply 
override the init and render functions.


Thanks for reading this far, would be great if we could solve 
this problem :D


More information about the Digitalmars-d-learn mailing list