Linux -> Windows crosscompiler

Mike Parker via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Tue May 16 01:58:57 PDT 2017


On Tuesday, 16 May 2017 at 08:25:46 UTC, Marvin Gülker wrote:
> On Tue, May 16, 2017 at 07:49:53AM +0000, kinke via 
> digitalmars-d-ldc wrote:
>> Yeah, that's what I meant by whether you are fine with the 
>> toolchain.
>
> Heh. After running MSVC Setup's "Repair" program (which, again, 
> took an hour or so) Visual Studio now starts. And then closes 
> with the message "Your evaluation time span has expired" 
> (although I never even used it). I don't think I'm going to 
> feel familiar with MSVC at any point in time. What a crude 
> world Windows is.

The Community Edition (both 2015 and 2017) can be used in 
perpetuity if you have a Microsoft account.

For reference, here's how object file compatibility works on 
Windows between the different C & D compilers:

* Don't mix any C objects compiled with MinGW with any D compiler 
other than GDC. You'll generally want to ensure the version of 
MinGW you use matches that backing GDC.

* MSVC-generated object files will work with LDC and with DMD, 
but you have to use either -m64 or -m32mscoff when compiling your 
D source using DMD.

* Vanilla DMD (which defaults to -m32) uses OPTLINK to link and 
therefore expects object files to be in OMF format. MSVC and 
MinGW output COFF, so objects they produce will need to be 
converted to OMF when linking with your D stuff (and you still 
may wind up with linker errors or compatibility problems). You'll 
generally want to compile your C files with DMC in this scenario.




More information about the digitalmars-d-ldc mailing list