[C++-sig] static/dynamic boost::python conflicts?
hohehohe2 at gmail.com
Wed Jul 23 12:04:43 CEST 2008
I'm using boost::python and I've got a problem now.
I'm writing a shared library(bundle, I'm using MacOSX10.5, and it's a
plug-in for some
application) where I have a code like this.
if ( ! Py_IsInitialized())
int a = PyImport_AppendInittab("MyModule", &initMyModule);
PyGILState_STATE state = PyGILState_Ensure();
module = object(handle<>(PyModule_New(moduleName)));
myMod = object(handle<>(PyImport_ImportModule("MyModule")));
module.attr("mymod") = myMod;
I statically linked boost::python, and it works fine. When imported,
filled with classes that boost::python has wrapped.
But when I use another shared library(#) which dynamically links
together with mine, PyImport_ImportModule("MyModule") returns a module which
is empty but __doc__ and __name__.
Instead of (#) I made a test shared library that does nothing but linking
boost::python dynamically, and it still fails.
Why does all statically linked boost::python and extension is affected by a
linked boost::python? I'm really puzzled.
I would really appreciate if anybody could help.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Cplusplus-sig