https://issues.dlang.org/show_bug.cgi?id=19760
--- Comment #8 from [email protected] --- > 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. --
