2010-08-31 80 views
1

考虑以下原型Boost.Python模块,该模块从单独的C++头文件中提取类“D”。python如何加载Boost.Python库?

/* file: a/b.cpp */ 
BOOST_PYTHON_MODULE(c) 
{ 
    class_<d>("D") 
} 

当我编译这一个共享库,我很困惑我怎么能公开到Python。

  1. 我该怎么称呼图书馆? a.so? liba.so? b.so? libb.so?
  2. 图书馆需要在哪里?我可以将它留在子目录中吗?

回答

3

我们更愿意称之为图书馆_c.so,把它放在一个模块中,然后添加一个__init__.py基本上不from _c import *。所以,你必须:

  • package
    • _c.so
    • __init__.py