Hi, I'm having some trouble pre-declaring some VALUE's. I've got a VALUE cFoo I want to be visible to multiple source files. Say the layout is something like this: foo/ext/stuff/extconf.rb foo/ext/stuff/foo.c foo/ext/stuff/bar.c foo/ext/stuff/baz.h foo/ext/stuff/stuff.c I want to define all the class VALUE's in the header file. I would then like to be able to '#include "baz.h"' inside both foo.c and bar.c. However, that causes an ld error when I try to build the source files: ld: duplicate symbol _cFoo in foo.o and bar.o # extconf.rb require 'mkmf' create_makefile('stuff') # Rakefile require 'rake' require 'rake/extensiontask' Rake::ExtensionTask.new('stuff') // baz.h #ifndef BAZ_H_INCLUDED #define BAZ_H_INCLUDED #include <ruby.h> VALUE cFoo; VALUE cBar; #endif Why do I want to do this? In the long run, I'm trying to figure out how to setup Check_Type calls for my own classes, e.g. Check_Type(some_value, cFoo); Regards, Dan