2013-12-09 41 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來進行編譯。