DWT problem with dmd >= 1.004
Derek Parnell
derek at psych.ward
Sat Feb 10 04:22:14 PST 2007
On Sat, 10 Feb 2007 04:08:08 +0100, torhu wrote:
> When compiling DWT apps with dmd 1.004 and 1.005, I get an error. There
> is no problem with dmd 1.0 and earlier. The problem is seen with the
> test_rowlayout.d example that comes with dwt.
>
> This is the command line used:
> dmd test_rowlayout.d -release -O -L/subsystem:windows:5 dwt.lib
> advapi32.lib comctl32.lib gdi32.lib shell32.lib comdlg32.lib ole32.lib
> phobos.lib user32_dwt.lib imm32_dwt.lib shell32_dwt.lib msimg32_dwt.lib
> usp10_dwt.lib gdi32_dwt.lib kernel32_dwt.lib olepro32_dwt.lib
> oleaut32_dwt.lib oleacc_dwt.lib uuid.lib -version=OLE_COM
>
> This is the error:
> Error 42: Symbol Undefined
> _D44TypeInfo_AC3dwt8graphics9rectangle9Rectangle6__initZ
It could be caused by the fact that the linker only does a single pass on
any given library or object file, so if a symbol is referenced prior to the
library that contains the symbol has been processed, maybe the linker
decides that it's an error and not wait until in might be resolved by the
end of the linkage process.
By doing a full compile of DWT again, I think the linker is processing the
object files and the libraries so it catches the early reference.
Try placing the another reference to the library that contains the item,
earlier in the command line, so the library is actually used twice on the
command line.
--
Derek Parnell
Melbourne, Australia
"Justice for David Hicks!"
skype: derek.j.parnell
More information about the Digitalmars-d
mailing list