Python cythonc++;和std::映射处理 我试图用Cython接口C++类,但作为参数STD的传递有困难::MAP.< /P>
sample.pxd文件:Python cythonc++;和std::映射处理 我试图用Cython接口C++类,但作为参数STD的传递有困难::MAP.< /P>,python,c++,cython,Python,C++,Cython,sample.pxd文件: from libcpp cimport bool from libcpp cimport string from libcpp cimport map from libcpp.utility cimport pair cdef extern from "../SampleProg.h": cdef extern from "<map>" namespace "std": cdef cppclass SampleP
from libcpp cimport bool
from libcpp cimport string
from libcpp cimport map
from libcpp.utility cimport pair
cdef extern from "../SampleProg.h":
cdef extern from "<map>" namespace "std":
cdef cppclass SampleProg:
SampleProg() except +
void setInitialTemplateParameters(map[string,XdmValue*] parameters, bool tunnel)
# Get all parameters as a std::map
map[string,XdmValue*]& getParameters()
# Get all properties as a std::map
map[string,string]& getProperties()
我似乎找不到构造Cython中的C++的例子。我在pxd和pyx文件中都遇到此错误:
void setInitialTemplateParameters(映射[string,XdmValue*]参数,
布尔隧道)
^
sampleProg.pxd:186:46:“map”不是类型标识符
这看起来有点乱,可能离工作还有一点距离。但是,“映射不是类型标识符”错误很容易解释。你想要:
from libcpp.map cimport map
string
这看起来有点乱,可能离工作还有一点距离。但是,“映射不是类型标识符”错误很容易解释。你想要:
from libcpp.map cimport map
string
我对pxd文件中嵌套的cdefextern感到非常困惑。我怀疑您是否想要内部的
一个?谢谢。我会移除它。由于网络上有很多例子,我对pxd文件中嵌套的来自…
的cdefextern感到非常困惑。我怀疑您是否想要内部的
一个?谢谢。我会移除它。由于网上有很多例子。谢谢。现在继续前进。但是我不得不将导入更改为以下内容:来自libcpp.map cimport map
是的,您是对的。这是cimport
而不是import
谢谢。现在继续前进。但是我不得不将导入更改为以下内容:来自libcpp.map cimport map
是的,您是对的。它是cimport
而不是import