[Issue 19760] Windows 10 -m64 completely broken, can't compile/run hello world

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Mar 25 23:13:50 UTC 2019


https://issues.dlang.org/show_bug.cgi?id=19760

--- Comment #8 from kinke at gmx.net ---
> It looks like msvcrt.dll (a different version) is always installed

If it is indeed preinstalled, that's the version from 2002-2003 IIRC. E.g.,
missing a whole lot of C99 math functions (but maybe not much more than the
2010 runtime).

> If you installed the right version of visual studio then you would't run into this issue because it would have installed msvcr100.dll. However, requiring everyone to install visual studio to run programs compiled with "dmd -m64" is not a solution.

You don't need full-blown Visual Studio (let alone the ancient 2010 one), you
need the runtime redistributable of the matching version; for DMD v10 (VS
2010), for LDC v14 (VS 2015).
But what I meant was that anyone compiling a C++ program with Visual Studio's
default settings will also yield a binary depending on the runtime DLLs, just
like DMD. That's of course no problem for the dev himself, but if he is to
redistribute that program.

> To solve this, we need to remove the dependency on msvcr100.dll, and switch to using a static library by default.

Feel free not to trust me, but I had a look at their license, as shipping with
static libs would have made the lives of some people around here much easier.
Or are you suggesting to port the DigitalMars C runtime to 64-bits? Note that
the MinGW runtime is no alternative, it is itself based on the Microsoft DLLs
(yep, the MSVC ones, not just the Windows ones).

A practical solution (well, the only really I can think of) would be checking
the availability of those DLLs in the installer.

--


More information about the Digitalmars-d-bugs mailing list