构建cython错误

时间:2013-12-09 06:23:11

标签: c++ macos cython

我正在使用此处的cython代码:

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

以前在MacOS Mountain Lion和Ubuntu 12.04上适用于我。当我尝试在MacOS Maverick上重新编译它时(使用最新的cython和numpy),编译cython生成的.cpp文件时出现以下错误:

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

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

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

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