From: Mark T. <mt...@gm...> - 2008-10-21 14:36:55
|
My apologies for the double send (stupid tab key) so ... my class looks like: namespace A { namespace B { class C { public: static const unsigned int flag = 0x00000001; }; } } There's obviously a bunch of other stuff though. In the swig interface file I have something like: %module raytrace %{ #include "c.h" %} %include "c.h" When I build this for python and import it I get a linker error in the so as: ImportError: _module.so: undefined symbol: _ZN3A8B3C10f_distanceE Using c++filt I confirm that it's the flag that's missing. My link line looks like: g++ -Xlinker -export-dynamic -shared c.o <snip python crap> -o _c.so I've tried RTFMing and googling, unfortunately despite the fact that this must be a very common issue, I haven't stumbled on an answer. I'm unsure if it's a result of the way I have written the swig interface, or am linking all the objects. Admittedly, I don't normally create .so's for general use, so it might be a fundamental misunderstanding there. Any help appreciated, Mark. |