Recommended procedure to upgrade DMD installation

Mike Parker via Digitalmars-d digitalmars-d at puremagic.com
Fri Aug 5 18:22:51 PDT 2016


On Friday, 5 August 2016 at 21:36:07 UTC, A D dev wrote:

> What Microsoft tools are you referring to? Do you mean C 
> toolchain build tools, like the linker, librarian, (N)MAKE, 
> etc.? Does D depend on those on Windows? (I do remember reading 
> a D doc, maybe the overview, that said something like that, or 
> at least that it plays well with existing common toolchains.)

DMD ships with the OPTLINK linker and uses it by default. OPTLINK 
uses object files in the OMF format. If you want to compile and 
link any C or C++ libraries, they also need to be OMF. You can 
achieve that by converting object files from COFF to OMF or by 
compiling with DMC if possible.

OPTLINK does not support 64-bit, so if you want to compile 64-bit 
with DMD (using the -m64 switch) you need the MS linker installed 
as DMD will create objects in the COFF format (you can also get 
32-bit COFF objects with -m32mscoff switch). That means you 
either need to install the MS build tools [1] or some version of 
Visual Studio (the Community Edition is free [2]). If you install 
only the build tools, you will also need the Windows SDK [3] to 
use the system libraries in COFF format. Visual Studio comes with 
everything you need.

I don't know if the DMD installer will discover the build tools 
installation for you yet, as I've never tried it. But it will 
definitely find Visual Studio.

>
> I don't remember all of the names of the Windows C build tools 
> now (plus, they could have changed over time), have to do a bit 
> of reading to brush up / update myself on that. I've done C dev 
> on Windows (and DOS before it), including command line use of 
> the MS compiler and linker (CL.exe, LINK.exe, IIRC), but all 
> that was some years ago.

You generally don't need to worry about calling them directly 
unless you plan to compile any C or C++ source to link with your 
64-bit (or -m32mscoff) D apps. As long as they are installed and 
DMD knows where to find the linker and any system libraries you 
need, that's enough.


[1] https://www.microsoft.com/en-us/download/details.aspx?id=48159
[2] 
https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx
[3] 
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk





More information about the Digitalmars-d mailing list