2013-12-09 21 views
1

我用用Cython代码从这里:构建用Cython错误

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

它为我以前在MacOS山狮和Ubuntu 12.04。当我尝试重新编译这个在MacOS小牛(带最新的用Cython与numpy的),我得到了通过编译生成的用Cython .cpp文件时,出现以下错误:

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

如何解决这个问题?

+0

通常,编译器提供了调用'isspace'的不同可能性。你能提供更完整的错误日志,还是你拥有的全部? - 听起来像包含“碰撞”:你可能会看看这个[主题](http://stackoverflow.com/q/15434417/1715716)。 –

回答

1

这是用Cython试图寻找isspace实施,并找到两个单独实现的一个问题:libstdc++(海合会库)和libc++(铛C++标准库,在10.9默认值)。

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