digitalmars.D.learn - Do users need to install VS runtime redistributable if linking with
- ponce (3/3) Sep 21 2015 All in the title.
- thedeemon (4/7) Sep 22 2015 I think they don't.
- ponce (2/5) Sep 22 2015 Great then.
- ponce (6/14) Sep 28 2015 So I've released software with LDC 0.16.0-alpha4 Win64, and one
- Sebastiaan Koppe (11/26) Sep 28 2015 Basically you executable is bound to whatever runtime you had
- ponce (6/28) Sep 28 2015 OK, but why does that need to happen? I don't get why does
- Dicebot (2/2) Sep 28 2015 Maybe LDC uses dynamic linking by default and DMD static one,
- kinke (8/15) Sep 28 2015 Yes, LDC does use dynamic linking by default (as MSVC iirc).
- Kagamin (4/8) Sep 29 2015 About universal CRT:
- ponce (3/8) Sep 29 2015 You need the VC++ 2015 64-bit redistributable.
- Sebastiaan Koppe (5/15) Sep 29 2015 Can you either link statically or try an older version of VC, one
- ponce (10/26) Sep 29 2015 No, not without rebuilding Phobos/druntime as it stands.
- ponce (2/4) Sep 28 2015 Just tested: no.
All in the title. DMD 64-bit links with the VS linker. Do users need to install the VS redistributable libraries?
Sep 21 2015
On Monday, 21 September 2015 at 15:00:24 UTC, ponce wrote:All in the title. DMD 64-bit links with the VS linker. Do users need to install the VS redistributable libraries?I think they don't. Generated .exe seems to depend only on kernel32.dll and shell32.dll, i.e. things users already have.
Sep 22 2015
On Tuesday, 22 September 2015 at 09:38:12 UTC, thedeemon wrote:I think they don't. Generated .exe seems to depend only on kernel32.dll and shell32.dll, i.e. things users already have.Great then.
Sep 22 2015
On Tuesday, 22 September 2015 at 09:38:12 UTC, thedeemon wrote:On Monday, 21 September 2015 at 15:00:24 UTC, ponce wrote:So I've released software with LDC 0.16.0-alpha4 Win64, and one user send me that http://i.imgur.com/xbU1VeS.png I thought it was only used for linking :( Does it also affect executable made with DMD and linked with MS linker?All in the title. DMD 64-bit links with the VS linker. Do users need to install the VS redistributable libraries?I think they don't. Generated .exe seems to depend only on kernel32.dll and shell32.dll, i.e. things users already have.
Sep 28 2015
On Monday, 28 September 2015 at 15:10:25 UTC, ponce wrote:On Tuesday, 22 September 2015 at 09:38:12 UTC, thedeemon wrote:Basically you executable is bound to whatever runtime you had installed when linking the thing. If those aren't installed on the end user's machine, you get that error. Pretty neat huh? I had the same problem trying your Vibrant game. I could not find out which redistributable I had to install (what version of VS did you have installed / on what version of windows are you?). I decided to install them all, but couldn't install the one for 2015 (due to Windows6.1-KB2999226-x64.msu). After trying some workarounds I gave up. I am on windows 7 by the way.On Monday, 21 September 2015 at 15:00:24 UTC, ponce wrote:So I've released software with LDC 0.16.0-alpha4 Win64, and one user send me that http://i.imgur.com/xbU1VeS.png I thought it was only used for linking :( Does it also affect executable made with DMD and linked with MS linker?All in the title. DMD 64-bit links with the VS linker. Do users need to install the VS redistributable libraries?I think they don't. Generated .exe seems to depend only on kernel32.dll and shell32.dll, i.e. things users already have.
Sep 28 2015
On Monday, 28 September 2015 at 16:01:54 UTC, Sebastiaan Koppe wrote:On Monday, 28 September 2015 at 15:10:25 UTC, ponce wrote:OK, but why does that need to happen? I don't get why does linking with MS linker implies a runtime dependency. I thought we would be left out of these sort of problems when using D :(On Tuesday, 22 September 2015 at 09:38:12 UTC, thedeemon wrote:Basically you executable is bound to whatever runtime you had installed when linking the thing. If those aren't installed on the end user's machine, you get that error. Pretty neat huh?On Monday, 21 September 2015 at 15:00:24 UTC, ponce wrote:So I've released software with LDC 0.16.0-alpha4 Win64, and one user send me that http://i.imgur.com/xbU1VeS.png I thought it was only used for linking :( Does it also affect executable made with DMD and linked with MS linker?All in the title. DMD 64-bit links with the VS linker. Do users need to install the VS redistributable libraries?I think they don't. Generated .exe seems to depend only on kernel32.dll and shell32.dll, i.e. things users already have.
Sep 28 2015
Maybe LDC uses dynamic linking by default and DMD static one, same as on Linux?
Sep 28 2015
Maybe LDC uses dynamic linking by default and DMD static one, same as on Linux?Yes, LDC does use dynamic linking by default (as MSVC iirc). Static linking can be enabled by providing the -DLINK_WITH_MSVCRT=OFF switch to the CMake command.OK, but why does that need to happen? I don't get why does linking with MS linker implies a runtime dependency. I thought we would be left out of these sort of problems when using D :(druntime is a layer on top of a C runtime, as redoing all of that low-level and platform-specific stuff in D doesn't make a lot of sense. Then it's just a choice of linking dynamically or statically against it. Doesn't have anything to do with the used linker.
Sep 28 2015
On Monday, 28 September 2015 at 16:36:47 UTC, ponce wrote:OK, but why does that need to happen? I don't get why does linking with MS linker implies a runtime dependency. I thought we would be left out of these sort of problems when using D :(About universal CRT: http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx https://support.microsoft.com/en-us/kb/2999226
Sep 29 2015
On Monday, 28 September 2015 at 16:01:54 UTC, Sebastiaan Koppe wrote:I could not find out which redistributable I had to install (what version of VS did you have installed / on what version of windows are you?). I decided to install them all, but couldn't install the one for 2015 (due to Windows6.1-KB2999226-x64.msu). After trying some workarounds I gave up.You need the VC++ 2015 64-bit redistributable.
Sep 29 2015
On Tuesday, 29 September 2015 at 09:15:29 UTC, ponce wrote:On Monday, 28 September 2015 at 16:01:54 UTC, Sebastiaan Koppe wrote:Can you either link statically or try an older version of VC, one that is more likely to be found in the wild? (or does ldc require 2015?) I really want to try your game :)I could not find out which redistributable I had to install (what version of VS did you have installed / on what version of windows are you?). I decided to install them all, but couldn't install the one for 2015 (due to Windows6.1-KB2999226-x64.msu). After trying some workarounds I gave up.You need the VC++ 2015 64-bit redistributable.
Sep 29 2015
On Tuesday, 29 September 2015 at 09:44:58 UTC, Sebastiaan Koppe wrote:On Tuesday, 29 September 2015 at 09:15:29 UTC, ponce wrote:No, not without rebuilding Phobos/druntime as it stands. https://github.com/ldc-developers/ldc/issues/1133On Monday, 28 September 2015 at 16:01:54 UTC, Sebastiaan Koppe wrote:Can you either link statically or try an older version of VC, one that is more likely to be found in the wild? (or does ldc require 2015?)I could not find out which redistributable I had to install (what version of VS did you have installed / on what version of windows are you?). I decided to install them all, but couldn't install the one for 2015 (due to Windows6.1-KB2999226-x64.msu). After trying some workarounds I gave up.You need the VC++ 2015 64-bit redistributable.I really want to try your game :)Version 1.7 is still available and is compiled with DMD for 32-bit Windows. You can also clone the repo and type "dub": https://github.com/p0nce/Vibrant Given the general speed up with LDC, it would need more profiling/optimizing to get back to DMD. Maybe next release.
Sep 29 2015
On Monday, 28 September 2015 at 15:10:25 UTC, ponce wrote:Does it also affect executable made with DMD and linked with MS linker?Just tested: no.
Sep 28 2015