digitalmars.D.learn - Why my app require MSVCR120.dll?
- Suliman (8/8) Nov 06 2015 I wrote Application in D. That use next components:
- Kagamin (1/1) Nov 06 2015 MSVCR is a C runtime. On Linux it will depend on a C runtime too.
- Suliman (2/4) Nov 06 2015 But which part of my App depend on C runtime?
- Benjamin Thaut (3/7) Nov 06 2015 All of it. Phobos and druntime use the C runtime, that means the
- Timo Sintonen (9/13) Nov 06 2015 I have an early draft to explain the libraries here:
- Cauterite (14/16) Nov 06 2015 D doesn't make particularly heavy use of the C runtime, so
- Suliman (2/9) Jan 18 2017 How can I link with msvcrt.dll ?
- Suliman (2/12) Jan 18 2017 Or maybe there is way to statically link with MSVCR120.dll?
- ponce (2/10) Nov 06 2015 What compiler are you using?
I wrote Application in D. That use next components: "colorize": ">=1.0.5", "ddbc": ">=0.2.11", "vibe-d": "~>0.7.26" On Windows 7 it's work fine. On Windows 10 (clean install) it's do not start and require MSVCR120.dll And I can't understand what component is pulling this lib as dependence. What would be if I am try to port my App to Linux?
Nov 06 2015
MSVCR is a C runtime. On Linux it will depend on a C runtime too.
Nov 06 2015
On Friday, 6 November 2015 at 13:50:56 UTC, Kagamin wrote:MSVCR is a C runtime. On Linux it will depend on a C runtime too.But which part of my App depend on C runtime?
Nov 06 2015
On Friday, 6 November 2015 at 16:21:35 UTC, Suliman wrote:On Friday, 6 November 2015 at 13:50:56 UTC, Kagamin wrote:All of it. Phobos and druntime use the C runtime, that means the language itself depends on the C runtime.MSVCR is a C runtime. On Linux it will depend on a C runtime too.But which part of my App depend on C runtime?
Nov 06 2015
On Friday, 6 November 2015 at 16:21:35 UTC, Suliman wrote:On Friday, 6 November 2015 at 13:50:56 UTC, Kagamin wrote:I have an early draft to explain the libraries here: https://bitbucket.org/timosi/minlibd/wiki/libc_vs_libgcc It is the Linux point of view but the basics are the same. It would be hard to write generic patterns that describe all possible language features for all possible target systems. It is easier to put them into a separate library that is common for all apps. Some simple things are math with mixed types and fp math, more complex things are for example thread and exception handling.MSVCR is a C runtime. On Linux it will depend on a C runtime too.But which part of my App depend on C runtime?
Nov 06 2015
On Friday, 6 November 2015 at 13:16:46 UTC, Suliman wrote:On Windows 7 it's work fine. On Windows 10 (clean install) it's do not start and require MSVCR120.dllD doesn't make particularly heavy use of the C runtime, so there's a good chance you can link against a different C runtime DLL — preferably one that's always available by default like msvcrt.dll. However I'd start by determining why it works fine on 7 and not on 10. It could be that MSVCR120.dll is in your library search path on your Win7 system for some reason, or perhaps the compiler is somehow choosing to link against a different runtime when compiling on Windows 7. If you don't already have tools to inspect this stuff, PeStudio ( https://www.winitor.com/ ) will be helpful — it can tell you all the load-time dynamic linkage for a given executable (among other things).
Nov 06 2015
On Friday, 6 November 2015 at 18:34:45 UTC, Cauterite wrote:On Friday, 6 November 2015 at 13:16:46 UTC, Suliman wrote:How can I link with msvcrt.dll ?On Windows 7 it's work fine. On Windows 10 (clean install) it's do not start and require MSVCR120.dllD doesn't make particularly heavy use of the C runtime, so there's a good chance you can link against a different C runtime DLL — preferably one that's always available by default like msvcrt.dll.
Jan 18 2017
On Wednesday, 18 January 2017 at 09:54:43 UTC, Suliman wrote:On Friday, 6 November 2015 at 18:34:45 UTC, Cauterite wrote:Or maybe there is way to statically link with MSVCR120.dll?On Friday, 6 November 2015 at 13:16:46 UTC, Suliman wrote:How can I link with msvcrt.dll ?On Windows 7 it's work fine. On Windows 10 (clean install) it's do not start and require MSVCR120.dllD doesn't make particularly heavy use of the C runtime, so there's a good chance you can link against a different C runtime DLL — preferably one that's always available by default like msvcrt.dll.
Jan 18 2017
On Friday, 6 November 2015 at 13:16:46 UTC, Suliman wrote:I wrote Application in D. That use next components: "colorize": ">=1.0.5", "ddbc": ">=0.2.11", "vibe-d": "~>0.7.26" On Windows 7 it's work fine. On Windows 10 (clean install) it's do not start and require MSVCR120.dll And I can't understand what component is pulling this lib as dependence. What would be if I am try to port my App to Linux?What compiler are you using?
Nov 06 2015
On Friday, 6 November 2015 at 18:39:49 UTC, ponce wrote:On Friday, 6 November 2015 at 13:16:46 UTC, Suliman wrote:I am using DMD. The software was compiled on Windows 7. On Windows 10 I just tried to run it. Is there any way to drop down C-runtime part to get App more portable or maybe to statically link with C lib to be sure that my App will work everywhere?I wrote Application in D. That use next components: "colorize": ">=1.0.5", "ddbc": ">=0.2.11", "vibe-d": "~>0.7.26" On Windows 7 it's work fine. On Windows 10 (clean install) it's do not start and require MSVCR120.dll And I can't understand what component is pulling this lib as dependence. What would be if I am try to port my App to Linux?What compiler are you using?
Nov 07 2015
On Saturday, 7 November 2015 at 10:03:58 UTC, Suliman wrote:I am using DMD.-m64 or -m32mscoff ?
Nov 07 2015
On Sunday, 8 November 2015 at 04:50:49 UTC, thedeemon wrote:On Saturday, 7 November 2015 at 10:03:58 UTC, Suliman wrote:Without any keys. I use dub for buildingI am using DMD.-m64 or -m32mscoff ?
Nov 07 2015
On Sunday, 8 November 2015 at 05:11:50 UTC, suliman wrote:On Sunday, 8 November 2015 at 04:50:49 UTC, thedeemon wrote:I suspect your issue is caused by botan library on which vibe-d depends: http://code.dlang.org/packages/botan It says it needs MS linker on Windows and so most probably depends on MSVC runtime. Usually when you build something with DMD without -m64 or -m32mscoff it makes a binary without such dependencies, it uses its own C library (snn.lib) statically linked.On Saturday, 7 November 2015 at 10:03:58 UTC, Suliman wrote:Without any keys. I use dub for buildingI am using DMD.-m64 or -m32mscoff ?
Nov 08 2015