使用 cython 包装C++项目

Wrapping C++ project using cython

本文关键字:项目 C++ 包装 cython 使用      更新时间:2023-10-16

我想用cython包装一个c++项目,以便在python代码中使用。主类具有来自其他本地类的实例。我是否必须为每个已使用的类编写 pyx 文件,或者仅包装主类就足够了?

提前谢谢你!


编辑:

这是我想要包装的代码:https://github.com/vojirt/asms/tree/master/src我想包装颜色跟踪器函数,因为此类中使用了其他类,我还需要包装它们吗?

多亏了DavidW,问题就解决了。我用这段代码来包装 cv::Mat:

cdef extern from "opencv2/core/core.hpp" namespace "cv":
    cdef cppclass Mat:
        Mat() except +
        void create(int, int, int)
        void* data

它只需要包装直接用于 colortracker 类的公共函数中的类和函数。