生成cython错误

Build cython error

本文关键字:错误 cython 生成      更新时间:2023-10-16

我在这里使用cython代码:

https://github.com/amueller/slic-python

它以前在MacOS Mountain Lion和Ubuntu 12.04上对我有效。当我试图在MacOSMaverick上重新编译它(使用最新的cython和numpy)时,在编译cython生成的.cpp文件时,我得到了以下错误:

_slic.cpp:5277:13: error: call to 'isspace' is ambiguous
        if (isspace(*ts))
            ^~~~~~~

如何解决此问题?

这是Cython试图找到isspace的实现并找到两个独立的实现的问题:libstdc++(GCC库)和libc++(10.9中默认的clang C++标准库)。

我们已经向Cython开发人员提出了这个问题,但目前还没有官方的解决方案。然而,解决方案实际上相当简单!一旦Cython创建了_slic.cpp文件,就可以通过将isspace的所有实例更改为std::isspace来进行编译。