I've been working all day on this(I might just be useless today) but I
can't figure it out.
I'm trying to make a simple extension, but when I include it, I get an
error:
./alignment.so: 127: The specified procedure could not be found. -
Init_alignment.so
I'm running Ruby 1.8.6 (from the Ruby-one-click-installer) on windows.
I'm using the Mingw32 tools for compiling my code.
In my .cpp file:
void Init_alignment()
{
}
In my .rb file:
require 'alignment'
puts "WOO!"
My compile script:
g++ alignment.cpp -shared -o alignment.so
-Ic:/ruby/lib/ruby/1.8/i386-mswin32 -lmsvcrt-ruby18 -lmsvcrt
-Lc:/ruby/bin -O3 -export-all-symbols
···
--------
It compiles fine, but it just doesn't seem to want to load my routines.
Anybody have any idea what the problem might be, and how to fix it?
--
Posted via http://www.ruby-forum.com/.
Hi,
At Thu, 6 Sep 2007 08:39:25 +0900,
Conan Rubymanjaro wrote in [ruby-talk:267817]:
./alignment.so: 127: The specified procedure could not be found. -
Init_alignment.so
g++ alignment.cpp -shared -o alignment.so
You use C++ compiler. Symbols in C++ object files are mangled
unless they are marked extern "C".
Try `nm --extern-only --defined-only alignment.so | grep Init_alignment'.
···
--
Nobu Nakada
Ah, fantastic. That solved all my problems.
Nobuyoshi Nakada wrote:
···
Hi,
At Thu, 6 Sep 2007 08:39:25 +0900,
Conan Rubymanjaro wrote in [ruby-talk:267817]:
./alignment.so: 127: The specified procedure could not be found. -
Init_alignment.so
g++ alignment.cpp -shared -o alignment.so
You use C++ compiler. Symbols in C++ object files are mangled
unless they are marked extern "C".
Try `nm --extern-only --defined-only alignment.so | grep
Init_alignment'.
--
Posted via http://www.ruby-forum.com/\.