Simon Strandgaard wrote:
>     cout << "test" << endl;

Agh! Use std::cout, std::endl etc or a "using namespace std". 
Namespaces are nice. (Not the cause of your problem though)

> cc -shared -Wl,-soname,Test.so -L/usr/local/lib -o Test.so test.o -L. -lruby -lc

Doesn't look like you are linking in the C++ standard library
explicitly.
To my knowledge, cc doesn't do that implicitly. I think the switch is
-lstdc++ but I am not sure as I usually use the CXX (such as g++)
instead of CC for the linking, and I think that g++ links to the C++
library implicitly.

-- 
(\[ Kent Dahl ]/)_    _~_    __[ http://www.stud.ntnu.no/~kentda/ ]___/~
 ))\_student_/((  \__d L b__/  NTNU - graduate engineering - 5. year  )
( \__\_/__/ ) _)Industrial economics and technological management(
 \____/_\____/ (____engineering.discipline_=_Computer::Technology___)