Cross module dependencies in Boost Python

前端 未结 2 1909
你的背包
你的背包 2021-01-05 07:19

Suppose I have two boost python modules that are defined as follows. Module A:

class SomeClass {
public:
    SomeClass() {}
    ~SomeClass() {}
};
BOOST_PYTH         


        
2条回答
  •  广开言路
    2021-01-05 08:12

    Based on your latest response and updated error message in your question, I think the problem might be because your BOOST_PYTHON_MODULE usage might be incorrect (based on what I've seen in other examples of using it). Try something like this and see if it helps:

    Module A:

    class SomeClass {
    public:
        SomeClass() {}
        ~SomeClass() {}
    };
    BOOST_PYTHON_MODULE(A)
    {   
        boost::python::class_("SomeClass");
    }
    

    And module B:

    class AnotherClass {
    public:
        AnotherClass() {}
        ~AnotherClass() {}
        void func(SomeClass& sp) {}
    };
    BOOST_PYTHON_MODULE(B)
    {   boost::python::class_("AnotherClass")
            .def("func", &AnotherClass::func)
        ;
    }
    

    Note the insertion of a "boost::python::" prefix onto the class_<...> statement in each of the two BOOST_PYTHON_MODULE declarations.

提交回复
热议问题