Вот обходной путь: внутри скобок находится обычный код C ++. Таким образом, вы можете переместить эту часть во встроенную функцию.
Например, вы можете поместить это в заголовок:
inline void DeclareStatusEffect()
{
boost::python::class_<StatusEffect>("StatusEffect")
.def("GetPriority", &StatusEffect::GetPriority)
.def("GetDescription", &StatusEffect::GetDescription)
.def("GetName", &StatusEffect::GetName);
}
И это в ваш исходный файл:
BOOST_PYTHON_MODULE(Status_Effect)
{
DeclareStatusEffect();
}
Вы также можете посмотреть, что делает макрос BOOST_PYTHON_MODULE
, и, возможно, есть способ добавить еще больше в заголовок, но это, вероятно, небезопасно в будущих версиях Boost.Python, даже если вы получите его в работа.