【发布时间】:2016-10-25 08:17:47
【问题描述】:
我为 C 程序创建了一个 python 扩展。在linux中,使用gcc,一切正常,可以安装扩展输入:
sudo python setup.py install
但是当我尝试在 OS X 中使用它时:
GCC 4.7:
我已经使用 macports 安装了 gcc 4.9,并在我的 setup.py 文件中添加了这一行
import os
os.environ["CC"]="gcc-mp-4.9"
当我输入sudo python setup.py install
我收到此错误:
unrecognized command line option '-Wshorten-64-to-32'
我一直在寻找解决方案,每个人都说“使用 clang 而不是 gcc”来解决这个问题。
Clang 3.8:
我还安装了clang 3.8(os X中安装了3.5但没有openmp)并且我修改了setup.py文件:
import os
os.environ["CC"]="clang-mp-3.8"
我得到这个错误:
unknown argument: '-mno-fused-madd'
在一些论坛中,我找到了解决此问题的可能解决方案,为 CFLAGS 设置一个空值:
sudo CFLAGS="" python setup.py install
但是我得到一个新的错误:
library not found for -lgomp
我使用 -fopenmp 但我不知道为什么调用 -fgomp。在一些论坛上,人们说我必须使用gcc而不是clang,所以我又回到了起点。
我想找到一个解决方案来轻松地在 OS X 中安装这个扩展,因为我想创建一个任何人都可以轻松安装的扩展。
【问题讨论】: