dmd + optlink Symbol Undefined _StretchDIBits at 52

Mike Parker aldacron at gmail.com
Fri May 3 06:20:37 UTC 2019


On Thursday, 2 May 2019 at 22:54:20 UTC, Joshua Hodkinson wrote:
> Hi everyone,
>
> I am getting a linker error when compiling with dmd (v2.085.1) 
> when using StrechDIBits from the win32 api.
>
> Error 42: Symbol Undefined _StretchDIBits at 52
>
> However with ldc (v1.15.0) the program compiles correctly.
>
> Wondering if I've missed something here, or possibly identified 
> a bug with dmd?
>
> Thanks

By default, DMD uses the Optlink linker and some quite old system 
import libraries in the OMF format. They’re missing a number of 
functions. If you compile with -m32mscoff for 32-bit or -m64, DMD 
will use the Microsoft linker and import libraries if you have 
Visual Studio or the MS Build tools installed, and the LDC linker 
with some import libraries from MinGW if you don’t.


More information about the Digitalmars-d-learn mailing list