Re: DMD, Windows and C

2017-10-26 Thread Rainer Schuetze via Digitalmars-d-announce



On 25.10.2017 18:57, kinke wrote:

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,
I tried lld-link just yesterday on a small DMD generated test file. 
Apart from not supporting the /MAP option it worked without debug 
information, but choked on debug symbols.


Re: DMD, Windows and C

2017-10-26 Thread Rainer Schuetze via Digitalmars-d-announce



On 25.10.2017 18:05, 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/ 



Thanks for the nice article. Two minor remarks:

- the D installer already creates batch files dmd2vars32.bat and 
dmd2vars64.bat that modify the PATH environment variable (but don't 
include the DMC path)


- DMD doesn't need lib.exe to build static libraries, that's built into DMD.