Building Visual D

Rainer Schuetze via Digitalmars-d-ide digitalmars-d-ide at puremagic.com
Fri Jun 24 13:19:40 PDT 2016



On 24.06.2016 19:08, Joerg Joergonson wrote:
> Ok, that helped. It seems to convert the SDK's to D, but eventually
> errors with
>
> std.file.FileException at std\file.d(578):
> ..\sdk\win32\10.0.10240.0\activdbg.d: The system cannot find the path
> specified.

The SDK version string should not be part of the D file names.

>
> I do have the activedbg.d file in sdk\port(not win32) and there are a
> bunch of d files in sdk\win32 too along with dte idl files in sdk\vsi\idl.

sdk\port\activedbg.d is an old dummy file, the header activedbg.h is now 
completely converted to sdk\win32\activedbg.d

>
> It seems that whatever is building the paths to the d files is using the
> sdk version info.
>
>
> Output:
>
> Building ..\bin\Debug\build.sdk...
> Translating Windows SDK and Visual Studio SDK to D, this can take
> several minutes. Please be patient.
> "..\bin\Debug\vsi2d.exe" --vsi="C:/Program Files (x86)/VS2015//VSSDK"
> --win="C:/Program Files (x86)/Windows/Kits/10//include"
> --dte="..\sdk\vsi\idl" --sdk=..\sdk

The --win path seems wrong. According to the messages above it should 
probably be

--win="C:/Program Files (x86)/Windows/Kits/10/10.0.10240.0/include"

The batch checks whether windows.h or um/windows.h exists in this 
directory. That should fail for "C:/Program Files 
(x86)/Windows/Kits/10//include". Maybe there are some files left from 
your attempts to convince earlier versions of the batch to succeed?

It also seems that "%WindowsSDKVersion%" and %UCRTVersion% don't yield 
anything. You might want to echo these values somewhere in the batch to 
confirm.

A simple fix for your system should be to replace

set WINSDKINC=

with

set WINSDKINC=C:\Program Files (x86)\Windows\Kits\10\10.0.10240.0\include



More information about the Digitalmars-d-ide mailing list