On 9/1/2013 11:01 AM, Dmitry Olshansky wrote:
The only one I see is
VS110COMNTOOLS

Very strange. When I click on the shortcut "Visual Studio x64 Win64..." to open a command prompt, it sets a veritable blizzard of environment variables.

that was defined to
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\

What currently works for me is:
[Environment64]
PATH=C:\"Program Files (x86)"\"Microsoft Visual Studio 11.0"\Common7\IDE;%PATH%
LIB=C:\"Program Files (x86)"\"Windows Kits"\8.0\Lib\win8\um\x64;C:\"Program
Files (x86)"\"Microsoft Visual Studio 11.0"\VC\lib\amd64;"%@P%\..\lib"
WindowsSdkDir=
LINKCMD64=C:\Program Files (x86)\Microsoft Visual Studio 
11.0\VC\bin\amd64\link.exe

I'm quite sure that VS20?? sets an environment variable for "Windows Kits" somewhere.

There are 2 distinct things - libraries are ound in Platform SDK (or rather
WindowsSDK these days) and version 8 differs from 7. You can download and
install it (any version) - it's a free download.
Compiler/linkers are installed to VisualStudio and are dealt with separately.

I still have this error when trying to comompile with debug info:

LINK : fatal error LNK1101: incorrect MSPDB110.DLL version; recheck installation
of this product

No idea whose fault is it (DMD vs MS linker vs something in my paths/env).

DMD does not load any DLLs.

+ I have to redefine everything in order to compile phobos/druntime as these are
hardcoded to VS10 (again !) thus I don't usually test/build x64 Phobos. It's far
less hassle for me to keep around x64 Linux virtual box for testing.

When I compile phobos, for example, I use the following makefile (named "makefile"). It is very handy for resetting the environment variables used by win32.mak.

--------------
# Makefile to build D runtime library phobos.lib for Win32
# Designed to work with \dm\bin\make.exe

DIR=\dmd2

#DMD=$(DIR)\windows\bin\dmd
DMD=..\dmd

#DOC=..\..\html\d\phobos
DOC=..\doc\phobos

STDDOC=std.ddoc

DRUNTIME=..\druntime

MODEL=32

MACS=DMD=$(DMD) DOC=$(DOC) STDDOC=$(STDDOC) DIR=$(DIR) DRUNTIME=$(DRUNTIME)

targets :
        make -fwin$(MODEL).mak $(MACS)

test :
        make -fwin$(MODEL).mak $(MACS) test

unittest :
        make -fwin$(MODEL).mak $(MACS) unittest

cov :
        make -fwin$(MODEL).mak $(MACS) cov

clean :
        make -fwin$(MODEL).mak $(MACS) clean

html :
        make -fwin$(MODEL).mak $(MACS) html

cleanhtml:
        make -fwin$(MODEL).mak $(MACS) cleanhtml

zip :
        make -fwin$(MODEL).mak $(MACS) zip

install :
        make -fwin$(MODEL).mak $(MACS) install

cov :
        make -fwin$(MODEL).mak $(MACS) cov

time :
        make -fwin$(MODEL).mak $(MACS) clean
        timer make -fwin$(MODEL).mak $(MACS)

Reply via email to