i’m trying to build a ruby extension in c on windows, using mingw32’s

these are the two compile commands i use:

gcc -o tga.o tga.c -c -I c:/ruby/lib/ruby/1.8/i386-mswin32
gcc -shared -o tga.o

everything compiles, with a few warnings, but is created. it has
also a valid Init_tga() function, because otherwise is just get “could
not find Init_tga()”.

however, when i try to require, i get an error that “msvcr80.dll”
is missing. my question is: how did the compiler link to that dll
anyway? i didnt mention it. anyways i’d like to know how to fix this

by the way, its the one-click-installer of ruby 1.8.6 and windows xp


Morris Brodersen wrote:

however, when i try to require, i get an error that “msvcr80.dll”
is missing.
i downloaded the msvcr80.dll somewhere and moved it into c:/windows.
this didnt fix the problem, i now get a runtime error “application is
trying to initialize a library incorrectly”.

btw, should i post this topic somewhere else? im new to ruby-forum. dont
know wether its the right category.

could it be that something in ruby.h is calling some function of any

well, i kind of fixed that problem… seems like the only thing i had to
do is to put into c:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt/. it
just works.

if somebody knows why this is happening i’d be very grateful :slight_smile: because
i have other .so’s which are definitely not in there but work.