【发布时间】:2011-10-14 09:24:04
【问题描述】:
使用 boost python 我需要创建嵌套命名空间。
假设我有以下 cpp 类结构:
namespace a
{
class A{...}
namespace b
{
class B{...}
}
}
明显的解决方案不起作用:
BOOST_PYTHON_MODULE( a ) {
boost::python::class_<a::A>("A")
...
;
BOOST_PYTHON_MODULE(b){
boost::python::class_<a::b::B>("B")
...
;
}
}
导致编译时错误:linkage specification must be at global scope
有没有办法将可以从 Python 访问的 B 类声明为a.b.B?
【问题讨论】:
-
我把它放在评论中是因为我从未尝试过:goo.gl/FxUHE
-
@Matthew - 谢谢,无论如何使用 PyImport_AddModule 是个好方法,这就是为什么 +1
标签: python boost boost-python