Running DMD tests on Windows / build requirements

Martin Krejcirik via Digitalmars-d digitalmars-d at puremagic.com
Sun Feb 21 08:45:14 PST 2016


Dne 21. 2. 2016 v 15:56 Nick Sabalausky napsal(a):
> I don't know whether MSVC works, but the traditional way to compile the
> C++ parts on Windows is using the Digital Mars C++ compiler, DMC. So
> even if MSVC doesn't work, DMC definitely should.

To by more precise:

I need a receipe, how to compile release-like DMD+Phobos. Especially
what minimal MS packages I need to install. I have no problem in Win32.

For example I get this error compiling druntime using win64.mak

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\cl" -c
/Z7 /I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\Include"
/I"C:\Program Files (x86)\Windows Kits\8.1\Include"
src\core\stdc\errno.c -Foerrno_c64.obj
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64
Copyright (C) Microsoft Corporation. All rights reserved.

errno.c
src\core\stdc\errno.c(12): fatal error C1083: Cannot open include file:
'errno.h': No such file or directory

--- errorlevel 2

OK, I've found errno.h in ucrt lib.
Now I can compile Phobos+Druntime using win64.mak (a had to add ucrt to
include paths) and copy it to dmd directory, but it's somehow messed up:


D:\devel\bugs>dmd -m64 utfbug
DMD v2.068 DEBUG
LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
--- errorlevel 1104

Stock dmd doesn't require libucrt.lib. If I copy it to
dmd2\windows\lib64 a get:

D:\devel\bugs>dmd -m64 utfbug
DMD v2.068 DEBUG
phobos64.lib(dmain2_629_47b.obj) : error LNK2019: unresolved external
symbol __iob_func referenced in function _d_run_main
phobos64.lib(dmain2_629_47b.obj) : error LNK2019: unresolved external
symbol _set_output_format referenced in function _d_run_main
phobos64.lib(config_487_452.obj) : error LNK2019: unresolved external
symbol sscanf referenced in function
_D2gc6config13__T5parseHTfZ5parseFNbNiAxaKAxaKfZb
utfbug.exe : fatal error LNK1120: 3 unresolved externals
--- errorlevel 1120




-- 
mk


More information about the Digitalmars-d mailing list