On 02/11/2017 12:42 PM, Andre Pany wrote:
Hi,
I have a windows slave on which the dmd archive is extracted and dub is
executed using build scripts. The windows slave has Visual Studio 2017
installed.
I would like to switch from OMF to COFF executables to also allow 64 bit
compilations.
My issue is, there is no way to install DMD using the executable setup
but only extracting the DMD archive. Also editing the sc.ini (by a build
script) I dislike.
I tried to begin with an easy example. I set the environment variables:
SET UniversalCRTSdkDir=C:\Program Files (x86)\Windows Kits\10
SET UCRTVersion=10.0.16299.0
SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.11.25503
SET LINKCMD=%VCINSTALLDIR%\bin\HostX64\x64\link.exe
SET LIB=%LIB%;"%VCINSTALLDIR%\lib\x64"
SET LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\um\x64"
SET LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
and after that I called dmd to compile a test application using the -m64
switch.
From the error I can see, that my LINKCMD environment variable is
overwritten by the sc.ini line:
LINKCMD=%VCINSTALLDIR%\bin\link.exe
Error: can't run 'C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\link.exe', check PATH.
How can I solve this issue?
Kind regards
André
Override the shipped sc.ini file with your own. Simple and effective
solution.