Msvcrt-ruby18.dll?

I tried building Ruby from source on Windows using MSVC++ today. I
notice that a dll gets built: msvcrt-ruby18.dll

I’ve got a couple of questions about this:

  1. how does this dll differ from the standard msvcrt.dll that comes
    with Windows?
  2. can’t I just statically link so there is no dependence on this dll?

I’m planning to embed Ruby into a C program. I want to build one
standalone executable; I’d rather not have to ship a dll file as well.

Phil

“Phil Tomson” wrote:

I tried building Ruby from source on Windows using MSVC++ today. I
notice that a dll gets built: msvcrt-ruby18.dll

I’ve got a couple of questions about this:

  1. how does this dll differ from the standard msvcrt.dll that comes
    with Windows?
  2. can’t I just statically link so there is no dependence on this dll?

I’m planning to embed Ruby into a C program. I want to build one
standalone executable; I’d rather not have to ship a dll file as well.

  1. Not related. msvcrt-ruby18.dll is the ruby runtime when linking with
    msvcrt-ruby18.lib.

  2. Yes. In your build directory you should have msvcrt-ruby18-static.lib
    to link with.

daz

  • Watch out for factual inaccuracies in this reply :wink: