【发布时间】:2018-05-11 13:39:34
【问题描述】:
我成功地使用 Boost Python 构建了一系列 Python 库。这些库是有条件地构建的,具体取决于用户在构建时指定的设置(通过 CMake)。
现在我想做的是将它们全部合并到一个库中,该库仅在需要时才包含一系列模块(每个旧库一个)。
例如,如果我之前有:
A.so # Always built
B.so # Compiled if B was set
C.so # Compiled if C was set
现在我想要:
MyLib.so # Always built
---
import MyLib
MyLib.A # always works
MyLib.B # works only if MyLib was compiled with B set
MyLib.C # works only if MyLib was compiled with C set
我已经知道如何使用 Boost Python(通过 class_)创建命名空间,但我不确定如何设置项目以实现最终结果。
使用 CMake,我可以有条件地添加要编译的文件,但我不知道如何在 C++ 中定义 MyLib 模块,以便可以在单独的文件中添加部分。
【问题讨论】:
标签: c++ boost namespaces boost-python