On Sun, 01 Sep 2013 09:42:37 +0200, Walter Bright
<newshou...@digitalmars.com> wrote:
On 8/31/2013 7:05 PM, Manu wrote:
The only compiler you can realistically use productively in windows is
DMD-Win64, and that doesn't work out of the box.
We needed to mess with sc.ini for quite some time to get the stars
aligned such
that it would actually compile and find the linker+libs.
Walter: DMD needs to internally detect installations of various
versions of
VisualStudio, and either 'just work', or amend sc.ini on its own. Or the
installer needs to amend sc.ini. Either way, leaving it to a user to
fiddle with
an ini file just isn't acceptable. We had to google solutions to this
problem,
and even then, we had trouble with the paths we added to sc.ini; are
spaces
acceptable? Do they have quites around them?...
I might also suggest that Microsoft supplied (ie, 'standard'),
libraries should
be automatically detected and path entries added in there too:
C:\Program Files (x86)\Microsoft SDKs\...
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\...
These are on basically every windows developers machine, and each of us
had to
configure them ourselves.
The default sc.ini contains:
-----------------------------
[Version]
version=7.51 Build 020
[Environment]
LIB="%@P%\..\lib";\dm\lib
DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import"
LINKCMD=%@P%\link.exe
LINKCMD64=%VCINSTALLDIR%bin\amd64\link.exe
VCINSTALLDIR=%VCINSTALLDIR%
WindowsSdkDir=%WindowsSdkDir%
----------------------------------
When I installed VC 2010, it set the environment variables VCINSTALLDIR
and WindowsSdkDir. Then, the default sc.ini should "just work".
What went wrong, specifically?
Like Dmitry said, it might work for 2010, but it certainly does not 'just
work' for 2012 and 2013. I've probably spent twelve hours setting up DMD
Win64 on my two confusers.
--
Simen