Thanks for all those replies, they really help :) Sonia.
On Wed, Dec 19, 2012, at 7:05, Artur Skawina wrote: > On 12/18/12 20:23, Mike Parker wrote: > > On Tuesday, 18 December 2012 at 19:21:09 UTC, Mike Parker wrote: > >> On Tuesday, 18 December 2012 at 18:24:03 UTC, Sonia Hamilton wrote: > >> > >>> [1]glib. I'm having problems compiling, what would the correct command > >>> line options? > >>> > >>> % dmd -I/usr/include/glib-2.0 hello.d -L-L/usr/local/lib -L-lglib-2.0 > >>> hello.d(3): Error: undefined identifier GDateTime > >>> hello.d(3): Error: undefined identifier GTimeZone > >> > >> Your problem isn't the command line options, but that you're missing > >> definitions of GDateTime and GTimeZone. You'll need to define those > >> somewhere, perhaps the top of your file here for testing, so that D can > >> know what they are. > > > > I just took a look at the GLib docs and see that both of these are opaque > > structs, so this should do it for you: > > > > struct GDateTime; > > struct GTimeZone; > > > > And if you don't want to do all of that manually, you could use > > http://repo.or.cz/w/girtod.git > > which would make a simple glib D hello-world program look like > > import glib = gtk2.glib2; > import std.stdio, std.conv; > > void main() { > auto tz = glib.TimeZone.new_local(); > scope (exit) tz.unref(); > auto dt = glib.DateTime.new_now(tz); > scope (exit) dt.unref(); > writeln("Hello World! It is " ~ to!string(dt.format("%c"))); > } > > Compile with > > gdc -fdeprecated -O2 -I $PATH_TO_GIRTOD glibhello.d > $PATH_TO_GIRTOD/gtk2/glib2.o `pkg-config --libs glib-2.0` > > > This might only work with GDC right now; I have no idea about DMD - never > tried it. > There are other gtk bindings out there (eg gtkd) that may work with that > compiler > and probably support glib too. > > artur