How does python load Boost.Python libraries?
Considering the following archetypal Boost.Python module, which brings a class "D" from a separate C++ header file.
/* file: a/b.cpp */
BOOST_PYTHON_MODULE(c)
{
class_<d>("D")
}
When I compile this to a shared library, I'm confused how I can expose it to Python.
- What should I call the library? a.so? liba.so? b.so? libb.so?
- Where does the library need to be? Can I leave it in开发者_如何学运维 a subdirectory?
We prefer to call the library _c.so
, put it in a module, and then add an __init__.py
that basically does from _c import *
. So you have:
package
_c.so
__init__.py
精彩评论