Cython: как передать список родным - PullRequest
0 голосов
/ 25 мая 2018

У меня есть библиотека cpp с API:

void sampleClass::newCall(list<string> topic)

Я пытаюсь вызвать ее из моего кода Cython как:

from libcpp.list cimport list as clist
void newCall(clist topic)

cdef class pyClass:
    cdef sampleClass* sc
    def __init__(self):
            self.sc = new sampleClass()

    def newCalling(self):
            abc = ["abc", "xyz"]
            self.sc.newCall(<clist>abc)

Но я не могу создать код Cython.

ошибка: 'T' не было объявлено в этой области __pyx_v_self-> sc-> newCall (((std :: list) __ pyx_v_abc));

callback.cpp: 922: 42: ошибка: недопустимый аргумент шаблона 1 __pyx_v_self-> sc-> newCall (((std :: list) __ pyx_v_abc));

callback.cpp:922: 42: ошибка: аргумент шаблона 2 недопустим. Ошибка: команда 'i686-linux-gnu-gcc' завершилась неудачно с состоянием выхода 1

Как передать список в качестве аргумента из Cython в native?библиотека?

...