Had another 48hr game jam this weekend...

Walter Bright newshound2 at digitalmars.com
Sun Sep 1 11:44:11 PDT 2013


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)



More information about the Digitalmars-d mailing list