小编Dev*_*ams的帖子

SystemError:<内置函数xxx_iterator>返回错误集的结果

我正在尝试从:SWIG 2.0.11和Python 2.7.12升级到SWIG 3.0.12和Python 3.6,但是当我在任何迭代器上运行测试(使用%template自动生成)时,我得到以下异常:

SystemError: <built-in function xxx_iterator> returned a result with an error set
Run Code Online (Sandbox Code Playgroud)

例如,即使最简单的迭代也会失败:

Traceback (most recent call last):
File "testRender.py", line 459, in testRender
    for v in vertices:
File "ncore.py", line 90833, in __iter__
    return self.iterator()
File "ncore.py", line 90830, in iterator
    return _ncore.Vertices_iterator(self)
SystemError: <built-in function Vertices_iterator> returned a result with an error set
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

再次,这一切都适用于SWIG 2.0.11和Python 2.7.12 ....

编辑:添加更简单的示例:

它可能是任何模板生成的迭代器,因此,例如,在.i文件中定义的此模板:

%template(Ints) std::list<int>;
Run Code Online (Sandbox Code Playgroud)

使用这个简单的代码时会失败:

intsList = ncore.Ints()
intsList.append(1)
intsList.append(2)
for i in intsList:
    print(i)
Run Code Online (Sandbox Code Playgroud)

使用类似于此的消息: …

c++ python swig

7
推荐指数
1
解决办法
3699
查看次数

标签 统计

c++ ×1

python ×1

swig ×1