Guide for dmd development @ Win64?

Kapps via Digitalmars-d digitalmars-d at puremagic.com
Mon Aug 4 20:28:50 PDT 2014


On Tuesday, 5 August 2014 at 03:17:11 UTC, Kapps wrote:
> On Tuesday, 5 August 2014 at 02:43:13 UTC, Dicebot wrote:
>> On Monday, 4 August 2014 at 22:48:51 UTC, Orvid King wrote:
>>> Yep, you'll need to update VCDIR at the top of updateAll.sh 
>>> to point into the 2013 Visual Studio directory rather than 
>>> the 2010 directory. (I believe it should be 12.0)
>>
>> I had to change much more than that but finally got it to the 
>> point of actually running `make -f win64.mak` for druntime. 
>> There it fails trying to compile errno.c  with a system error 
>> "mspdb120.dll is missing". Googling for this message finds 
>> suggestions to kill "mspdbsrv.exe" process but there is no 
>> such process running >_<
>
> Steps I had to do (coincidentally, just today):
>
> 1) Edit win64.mak on druntime / phobos to change from 10.0 to 
> 12.0 for VS, and from v7.0A to v8.1A for SDK directory.
> 2) Edit sc.ini where it says the mspdb*.dll line, remove the 
> x86_amd64/bin or such and just make it 
> "PATH=%PATH%;%VCINSTALLDIR%\bin\;%VCINSTALLDIR%\..\Common7\IDE". 
> This should fix the error you're having.
> 3) Edit the tools win32.mak to use -m64 and thus actually be 
> 64-bit. The makefiles don't use a different folder for x86 and 
> x64, so you can't have a 32-bit version of phobos and 64-bit 
> version of phobos at same time, so tools needs to be built for 
> 64-bit. Then I removed everything but ddemangle and rdmd from 
> the targets.
>
> Basically, the Windows makefiles are a bit of a mess because 
> they don't allow 32-bit and 64-bit versions at the same time 
> and assume VS2010.
>
> After these changes I was successfully able to build the tools 
> repository.

I forgot, also needed to change from ..\lib to ..\..\phobos as 
the lib path in sc.ini. That is:
[Environment64]
LIB="%@P%\..\..\phobos\"

My directory layout is
dmd
   dmd
   druntime
   phobos
   tools

And my sc.ini looks like http://pastie.org/9445982.



More information about the Digitalmars-d mailing list