June 29, 2013
bat file that sets environment for D and related stuff.
-----

@ECHO OFF

SET MS_VC_PATH=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
SET MS_SDK_PATH=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A

SET DE=%CD%\Environment

SET DEC=%DE%\Compiler
SET DER=%DE%\Runtime
SET DET=%DE%\Tool

SET DEC_D=%DEC%\Dmd
SET DEC_MINGW=%DEC%\MinGW

SET DE_PATH=%DET%;%DEC_D%\windows\bin;%DEC_MINGW%\bin
SET DE_LIB=%DEC_D%\windows\lib;%DEC_MINGW%\lib

SET DFLAGS=-I%DEC_D%\src\phobos -I%DEC_D%\src\druntime\import

SET PATH=%PATH%;%MS_VC_PATH%\bin;%DE_PATH%
SET LIB=%LIB%;%DE_LIB%

START "D Environment" cmd /E:ON /U /D
-----

sc.ini
-----
[Version]
version=7.51 Build 020

[Environment]
VCINSTALLDIR=%MS_VC_PATH%\
WindowsSdkDir=%MS_SDK_PATH%\
LINKCMD=%@P%\link.exe
LINKCMD64=%VCINSTALLDIR%\bin\x86_amd64\link.exe
-----

In general check your paths to:
1. ..\bin\x86_amd64\link.exe
2. mspdb120.dll (it's for VS 2013, mspdb110.dll for VS 2012)
3. add path of mspdb*.dll to PATH variable

June 29, 2013
Thanks! Adding those libs to the path worked. However, now I get the below error about a missing entry point.
====
LINK : fatal error LNK1561: entry point must be defined

--- errorlevel 1561

Exit code 1561

Build complete -- 1 error, 0 warnings
====
June 29, 2013
Never mind, I fixed that linker error (had a minor issue with the main D entry point). I'm now building x64!
August 19, 2013
I recently install DMD, and encountered this page while Googling. It gave me some hints, but my changes to make it work on 64-bit Windows 7 + MSVC 2012 is really much less drastic. After adding C:\dmd2\windows\bin to PATH, I only need to edit the LIB line in sc.ini to the following effect:

LIB="%VCINSTALLDIR%lib\amd64";"%WindowsSdkDir%lib\win8\um\x64";"%@P%\..\lib"

I can then launch a VS2012 Developer Command Prompt to use either -m32 and -m64 modes. For the "normal" command prompt, -m32 works, but -m64 does not. I do not feel it a problem for me at all.
1 2
Next ›   Last »