我不能用cython编译c ++代码

时间:2015-02-09 09:49:08

标签: python c++ cython

我尝试cythonize以下代码:

from libcpp.vector import vector
from libcpp cimport bool

def test():
   cdef vector[bool] = pos(top, 0)

return 1

使用:

cython test.pyx --cplus -o test.cpp
然而,

导致:

Error compiling Cython file:

------------------------------------------------------------

...

from libcpp.vector import vector
from libcpp cimport bool

def test():
cdef vector[bool] = pos(top, 0)
              ^
------------------------------------------------------------

test.pyx:5:19: Empty declarator

Error compiling Cython file:
------------------------------------------------------------
...
from libcpp.vector import vector
from libcpp cimport bool

def test():
    cdef vector[bool] = pos(top, 0)
              ^
------------------------------------------------------------

我认为我遗漏了一些简单易用的东西c++,但我无法弄明白究竟是什么。任何帮助都会被大大占用。

1 个答案:

答案 0 :(得分:4)

您的代码中似乎有2个问题:

  1. 使用vector而不是import导入cimport
  2. vector[bool]没有名称,只是一个类型定义。
  3. 以下是我的工作代码示例:

    from libcpp.vector cimport vector
    from libcpp cimport bool
    
    cdef vector[bool] your_vector