python - 在 Cython 中使用/编译 C++

标签 python c++ c gcc cython

我正在从事一个需要在 cython 中进行大量字典查找的项目。为了尝试提高速度,我尝试用 libcpp 中的 unordered_maps 替换字典。

#!python
#cython: boundscheck=False, wraparound=False, infer_types=True,cdivision = True
from libcpp.unordered_map cimport unordered_map

但是,当我尝试在命令行上使用 gcc 进行编译时,编译失败并显示

CAStar2.c:482:19: fatal error: utility: No such file or directory
 #include <utility>
                   ^
compilation terminated.

编译器似乎无法找到多个所需的文件。
我如何将它指向那些文件?

最佳答案

cython 生成的 C 文件需要通过 setuptools Extension 编译。

如果手动编译,则还需要手动指定 setuptools 否则会使用的所有 include 和 lib 目录。

参见 cython setuptools documentation herehere for a minimal compile from cmd line example .

关于python - 在 Cython 中使用/编译 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46394412/

相关文章:

python - 支持二进制的 Tornado websockets 第 2 部分

python - 使用 "devtool modify"修改openbmc代码

python pandas 散点图错误 : is this a bug with pandas?

python - 如何在运行时使用 argparse 有条件地获取进一步的输入?

c++ - 返回值的完美转发?

C 代码 结果 说明

c - C 中的矩阵乘法错误

c++ - 使用单例时内存泄漏

c++ - 编译器不定义隐式的条件(构造函数、析构函数、复制构造函数、复制赋值)

c - 声明中使用的 * 运算符 (int *p = &i) 和表达式 (*p = &i) 之间有什么区别