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)