DWT problem with dmd >= 1.001 (was: DWT problem with dmd >= 1.004)

torhu fake at address.dude
Tue Feb 13 06:03:27 PST 2007


torhu wrote:
> This is the error:
> Error 42: Symbol Undefined 
> _D44TypeInfo_AC3dwt8graphics9rectangle9Rectangle6__initZ
> 
> The same error results if you compile with this command line:
> build test_rowlayout.d -gui -clean -release -O -Xdwt -version=OLE_COM
> 
> The trick is to remove -Xdwt from the command line, which makes build 
> recompile dwt itself.  But doing this every time you compile your app is 
> slow.  It makes the executable bigger, too.
> 
> Is this a compiler bug, dwt bug, or just some unfortunate incompatibility?

I installed dmd 1.001 and tried this again:

c:\prog\dmd\lib\dwt.lib(rowlayout)
  Error 42: Symbol Undefined 
_D44TypeInfo_AC3dwt8graphics9rectangle9Rectangle6__initZ

It's identical to the error 1.004 and 1.005 gave, so it would appear 
that this problem is caused by a change that happened in 1.001.

I tried to create a minimal example that would show this bug, but 
reducing test_rowlayout.d and dwt/widgets/display.d to a couple of lines 
each isn't enough.  It changes the error to this:

test_rowlayout.obj(test_rowlayout)
  Error 42: Symbol Undefined _D3dwt7widgets7display7Display7__ClassZ

Somewhere along the way, I got this error too:

c:\prog\dmd\lib\dwt.lib(imagelist)
  Error 42: Symbol Undefined 
_D40TypeInfo_PS3std1c7windows7windows6BITMAP6__initZ

More than these two files have to be involved for this to happen, it's 
not triggered if display.d isn't imported by other dwt modules.  That's 
expected, I guess.  So more work is needed to show exactly why this happens.



More information about the Digitalmars-d mailing list