我正在使用此处的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))
^~~~~~~
如何解决这个问题?
答案 0 :(得分:1)
这是一个问题,Cython试图找到isspace
的实现并找到两个单独的实现:libstdc++
(GCC库)和libc++
(clang C ++标准库是10.9)中的默认值。
我们已经向Cython开发者提出了这个问题,但目前还没有官方修复。但是,解决方案实际上非常简单!一旦Cython创建了_slic.cpp
文件,您就可以通过将isspace
的所有实例更改为std::isspace
来进行编译。