February 11, 2007
I have dmd 1.005 on windows
and this message from the linker:
Error 42: Symbol Undefined _D38TypeInfo_PS4gtkc8gtktypes11GtkTreeIter6__initZ

how to I go about to find out here did I mess up?
there is a struct GtkTreeIter on module gtktypes on package gtkc.

seems to exist on gtkd.lib:
grep _D38TypeInfo_PS4gtkc8gtktypes11GtkTreeIter6__initZ *.lib
Binary file gtkd.lib matches

here is the link command:

C:\devel\Duit\trunk\gtkD>link  obj\installer\ui\Exec.obj obj\installer\ui\gtkDLogo.obj obj\installer\ui\Installer.obj obj\installer\ui\Main.obj, .\setup,,\dmd\lib\+..\..\..\Dool\trunk\ gtkd+dool+kernel32+user32+phobos  /noignorecase
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

gtkd.lib(TreeIter)
 Error 42: Symbol Undefined _D38TypeInfo_PS4gtkc8gtktypes11GtkTreeIter6__initZ

clueless :(

Ant

February 11, 2007
Ant wrote:
> I have dmd 1.005 on windows
> and this message from the linker:
> Error 42: Symbol Undefined _D38TypeInfo_PS4gtkc8gtktypes11GtkTreeIter6__initZ
> 
> how to I go about to find out here did I mess up?
> there is a struct GtkTreeIter on module gtktypes on package gtkc.
> 
> seems to exist on gtkd.lib:
> grep _D38TypeInfo_PS4gtkc8gtktypes11GtkTreeIter6__initZ *.lib
> Binary file gtkd.lib matches

That just means gtkd.lib contains that string. That doesn't mean it defines the symbol. In fact, in this case it looks like it only *uses* the symbol without it being defined anywhere (that the linker can find), producing your error.
You may want to find out what library includes the module gtkc.gtktypes and add that to the linker commandline.