On 2 September 2013 05:21, Walter Bright <newshound2@digitalmars.com> wrote:
On 9/1/2013 11:58 AM, Dmitry Olshansky wrote:
01-Sep-2013 22:44, Walter Bright пишет:
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.

Ah, that command prompt...
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\
WindowsSdkDir=C:\Program Files (x86)\Windows Kits\8.0\

However the said windows kit folder has tree like this:
C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\{arm,x86,amd64}

That 'win8\um' sub-folder is what must be throwing it off. It's nothing like
that in Win7 SDK.

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.

Okay, then it could very well be just me messing with paths/env.

OT: MS x64 compiler too could be had for free (it come with SDK I installed not
VS express)

+ 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

Thanks! I could borrow that.
With that said I don't quite like Makefiles at all.


I think the most practical thing at the moment is to:

1. put comments in sc.ini explaining it better
2. replace the hardcoded tails that link.c appends to the sc.ini values with new settings in sc.ini
3. provide commented-out example settings for each variant of VS as we discover what they should be

And if we still rely on sc.ini to get it right:
4. As the final step of the DMD installer, open sc.ini in notepad for the user's approval.