我无法用 cython 编译 C++ 代码

I can't compile c++ code with 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++ 但我不知道到底是什么。任何帮助都将不胜感激。

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

  1. vector 是使用 import 而不是 cimport 导入的。
  2. vector[bool] 没有名称,只有类型定义。

这是一个适合我的工作代码示例:

from libcpp.vector cimport vector
from libcpp cimport bool

cdef vector[bool] your_vector