DMD, Windows and C

kinke kinke at gmx.net
Wed Oct 25 16:57:27 UTC 2017


On Wednesday, 25 October 2017 at 16:05:48 UTC, Mike Parker wrote:
> In preparation for an upcoming blog series, and partly as a 
> reaction to the "Windows is a second-class citizen" criticisms 
> that have been cropping up lately, I've put together a primer 
> on getting set up to use C and D together on Windows. It 
> includes some background on why we need to install the MS 
> toolchain to produce 64-bit binaries.
>
> The blog:
> https://dlang.org/blog/2017/10/25/dmd-windows-and-c/
>
> Reddit:
> https://www.reddit.com/r/programming/comments/78olka/dmd_windows_and_c_getting_set_up_to_use_d_and_c/

LLVM's LLD is another option for linking on Windows (and 
cross-linking to Windows from other platforms); they used not to 
support debuginfos (.pdb), not sure what the current state is. 
`lld-link.exe` and `llvm-lib.exe` work as drop-in replacements, 
reading the same environment variables and exposing the same 
command-line interface.
Recent LDC integrates both the linker and the archiver/librarian 
(in the LDC executable directly - increasing the size of the LDC 
executable by about 10% IIRC).

The MS libs are obviously still required. They can be compressed 
to ~32 MB. The redistribution of the static libs is unclear, 
that's why I haven't pursued this further, but that's basically 
the only thing standing in the way of releasing a fully 
self-contained LDC package with a compressed size of roughly 50 
MB (64-bit libs only).

See 
https://github.com/ldc-developers/ldc/pull/2142#issuecomment-304472412.


More information about the Digitalmars-d-announce mailing list