我希望您提供一份逐步指南,介绍如何在Cython中使用unordered_map。
我已经将unordered_map.pxd文件包含在Cython/Includes/libcpp中。这个文件可以从https://gist.github.com/ikuyamada/3265267下载并导入。同时,您还需要使用其他三个文件:
main.py:
当我运行test.py时,出现错误:
我已经将unordered_map.pxd文件包含在Cython/Includes/libcpp中。这个文件可以从https://gist.github.com/ikuyamada/3265267下载并导入。同时,您还需要使用其他三个文件:
main.py:
import pyximport;
pyximport.install()
from foo import F
F()
foo.pyx:
from libcpp.unordered_map cimport unordered_map
def F():
cdef unordered_map[int, int] my_map
my_map[1]=11
my_map[2]=12
print my_map[1],my_map[2]
foo.pyxbld:(将foo.pyx编译成C ++)
def make_ext(modname, pyxfilename):
from distutils.extension import Extension
return Extension(name=modname,
sources=[pyxfilename],
language='C++')
当我运行test.py时,出现错误:
foo.cpp
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\xlocale(342) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
C:\Users\kitov\.pyxbld\temp.win-amd64-2.7\Release\pyrex\foo.cpp(316) : fatal error C1083: Cannot open include file: 'tr1/unordered_map': No such file or directory
我使用的是Win7操作系统,Python 2.7 64位版本以及VS2008专业版。