On 01.11.2014 14:25, Josh wrote:
I have Visual Studio 2012 and Windows SDK for Windows 8.1 installed. I
then used the DMD installer, which appears to have correctly found them:

----------------------------------------------------------------------------

; Windows installer replaces the following lines with the actual paths
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\
WindowsSdkDir=D:\Program Files (x86)\Windows Kits\8.1\

; Windows installer uncomments the version detected
;VC2013 LINKCMD=%VCINSTALLDIR%\bin\x86_amd64\link.exe
LINKCMD=%VCINSTALLDIR%\bin\x86_amd64\link.exe
;VC2010 LINKCMD=%VCINSTALLDIR%\bin\amd64\link.exe
;VC2008 LINKCMD=%VCINSTALLDIR%\bin\amd64\link.exe

; needed with /DEBUG to find mspdb*.dll (only for VS2012 or VS2013)
;VC2013
PATH=%PATH%;%VCINSTALLDIR%\bin\x86_amd64;%VCINSTALLDIR%\..\Common7\IDE;%VCINSTALLDIR%\bin

PATH=%PATH%;%VCINSTALLDIR%\bin\x86_amd64;%VCINSTALLDIR%\..\Common7\IDE
----------------------------------------------------------------------------


The problem is, when I compile something with -m64, I get the error:
Can't run 'C:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\bin\amd64\link.exe', check PATH

It's looking in ...\Microsoft Visual Studio 10.0, rather than
....\Microsoft Visual Studio 11.0 which is specified in sc.ini. Is there
another step that I need to do?

Thanks,

Josh

That should work as is. Some ideas:

- you might have another sc.ini in the working directory or your HOME directory which is picked up before the one alongside dmd.exe

- for historic reasons LINKCMD64 setting/environment variable might also be used, maybe you have set this elsewhere in your sc.ini

If you run dmd with option -v, it will show the used sc.ini and the command line used to call the linker.

Reply via email to