猿问

无法使用 SWIG 在 Python 中实例化 C++ 类(获取属性错误)

我想将 C++ 类导出到 Python 中,为此我使用 SWIG 创建了一个 C++ 扩展模块。从文档中,我可以看到可以使用 SWIG 导出类。我能够成功地为python创建类模块(_minimal.pyd)。我可以在 Python 中导入模块。但是,我无法创建该类的对象,并且出现属性错误。请找到我尝试过的代码示例。有人可以帮我吗?


//minimal.h

class minimal

{

private:

    static int num_instances;


public:

    minimal()

    {

        ++num_instances;

    }

    ~minimal()

    {

        --num_instances;

    }


    void print_num_instances();

};


//minimal.cpp

#include <iostream>

#include "minimal.h"


int minimal::num_instances = 0;


void minimal::print_num_instances()

{

    using namespace std;

    cout << this->num_instances << endl;

}


//minimal.i(interface file)

%module minimal


%{

#include "minimal.h"

%}


%include "minimal.h"


//python code used to run the module

import _minimal as m

m1=m.minimal()


蓝山帝景
浏览 162回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答