Compiling C extensions with MSVC

Discussion in 'Ruby' started by Eric Hofreiter, Nov 4, 2005.

  1. --0-296179830-1131075544=:95187
    Content-Type: text/plain; charset=iso-8859-1
    Content-Transfer-Encoding: quoted-printable

    Hello,
    I would very much like to be able to compile a C extension for Ruby using=
    MSVC, but I am coming across many problems. First of all, I am using ex=
    tconf.rb with nothing but a create_makefile() statement. When it creates=
    the makefile and I try to run it, it complains about not being able to f=
    ind header files and libraries. So I went into the makefile and manually=
    changed things so that it would include everything that it asked for. H=
    owever, I am now getting an error that says:

    c_lib-i386-mswin32.def : error LNK2001: unresolved external symbol Init_c=
    _lib
    c_lib.lib : fatal error LNK1120: 1 unresolved externals
    LINK : fatal error LNK1141: failure during build of exports file
    NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0=
    x2'
    Stop.
    =20
    "c_lib" is the name of the extension and .c file. I believe this may hav=
    e something to do with it asking me to link a library called msvcrt.lib, =
    which was located in a directed called amd64 or ia64. I'm not sure what =
    these two things mean, but I know that they do not work with my system. =
    I believe the one that works for me is x86. However, those two directori=
    es were the only one that had msvcrt.lib.

    =09
    ---------------------------------
    Yahoo! FareChase - Search multiple travel sites in one click. =20
    --0-296179830-1131075544=:95187--
    Eric Hofreiter, Nov 4, 2005
    #1
    1. Advertising

  2. Eric Hofreiter

    David Koontz Guest

    Hey Eric, I just went through all this myself. I did a write up that
    should hopefully guide you through the process.
    http://www.koontzfamily.org/david/blog/?p=230

    HTH,
    David Koontz

    >Hello,
    >I would very much like to be able to compile a C extension for Ruby using MSVC, but I am coming across many problems. First of all, I am using extconf.rb with nothing but a create_makefile() statement. When it creates the makefile and I try to run it, it complains about not being able to find header files and libraries. So I went into the makefile and manually changed things so that it would include everything that it asked for. However, I am now getting an error that says:
    >
    >c_lib-i386-mswin32.def : error LNK2001: unresolved external symbol Init_c_lib
    >c_lib.lib : fatal error LNK1120: 1 unresolved externals
    >LINK : fatal error LNK1141: failure during build of exports file
    >NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x2'
    >Stop.
    >
    >"c_lib" is the name of the extension and .c file. I believe this may have something to do with it asking me to link a library called msvcrt.lib, which was located in a directed called amd64 or ia64. I'm not sure what these two things mean, but I know that they do not work with my system. I believe the one that works for me is x86. However, those two directories were the only one that had msvcrt.lib.
    >
    >
    >
    >
    David Koontz, Nov 4, 2005
    #2
    1. Advertising

  3. On 11/4/05, David Koontz <> wrote:
    > Hey Eric, I just went through all this myself. I did a write up that
    > should hopefully guide you through the process.
    > http://www.koontzfamily.org/david/blog/?p=3D230
    >


    Off topic but the koontzfamily doesnt include the famous author Dean does i=
    t?

    I can think of some mean programmer as protagonist based horror stories :)
    Lyndon Samson, Nov 4, 2005
    #3
  4. Eric Hofreiter

    Curt Hibbs Guest

    On 11/4/05, Lyndon Samson <> wrote:
    > On 11/4/05, David Koontz <> wrote:
    > > Hey Eric, I just went through all this myself. I did a write up that
    > > should hopefully guide you through the process.
    > > http://www.koontzfamily.org/david/blog/?p=3D230
    > >

    >
    > Off topic but the koontzfamily doesnt include the famous author Dean does=

    it?
    >
    > I can think of some mean programmer as protagonist based horror stories :=

    -)

    Continuing this OT thread, I am currently "reading" (actually, I
    listen to audiobooks as I commute) Snow Crash by Neal Stephenson. It
    is a very, very good and the protagonist is a hacker named "Hiro
    Protagonist". Its sci-fi, not horror, but its one of the best books
    I've read in a while.

    Curt
    Curt Hibbs, Nov 4, 2005
    #4
  5. ------=_Part_34939_3658069.1131117088283
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    On 11/4/05, Curt Hibbs <> wrote:
    >
    > On 11/4/05, Lyndon Samson <> wrote:
    > > On 11/4/05, David Koontz <> wrote:
    > > > Hey Eric, I just went through all this myself. I did a write up that
    > > > should hopefully guide you through the process.
    > > > http://www.koontzfamily.org/david/blog/?p=3D230
    > > >

    > >
    > > Off topic but the koontzfamily doesnt include the famous author Dean

    > does it?
    > >
    > > I can think of some mean programmer as protagonist based horror stories

    > :)
    >
    > Continuing this OT thread, I am currently "reading" (actually, I
    > listen to audiobooks as I commute) Snow Crash by Neal Stephenson. It
    > is a very, very good and the protagonist is a hacker named "Hiro
    > Protagonist". Its sci-fi, not horror, but its one of the best books
    > I've read in a while.



    And for one last addition to the OT'ness. If you like Snow Crash make sure
    to check out a couple of his other books, especially Diamond Age and
    Cryptonomicon.

    Curt
    >
    >



    --
    =3D=3D=3DTanner Burson=3D=3D=3D

    http://tannerburson.com <---Might even work one day...

    ------=_Part_34939_3658069.1131117088283--
    Tanner Burson, Nov 4, 2005
    #5
  6. Eric Hofreiter

    Guest

    Hi,

    At Fri, 4 Nov 2005 12:39:07 +0900,
    Eric Hofreiter wrote in [ruby-talk:164084]:
    > c_lib-i386-mswin32.def : error LNK2001: unresolved external symbol Init_c_lib


    It is the function what *you* have to write to initialize the
    extension.

    --
    Nobu Nakada
    , Nov 5, 2005
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Dan
    Replies:
    0
    Views:
    1,102
  2. Mike C. Fletcher
    Replies:
    3
    Views:
    981
    =?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=
    Oct 12, 2003
  3. Babak
    Replies:
    23
    Views:
    720
  4. Sriyansa
    Replies:
    1
    Views:
    168
  5. Sergey Haritonov

    Compiling Ruby with MSVC

    Sergey Haritonov, Jan 17, 2009, in forum: Ruby
    Replies:
    0
    Views:
    221
    Sergey Haritonov
    Jan 17, 2009
Loading...

Share This Page