我试图让setup.py用macports版本的gcc编译c ++代码。问题是我正在尝试构建的代码,不支持mac的默认clang,这是较新的osx版本的默认gcc。
我创建了一个自定义setup.cfg
文件
setup.cfg
[build_ext]
compiler=gcc-mp-4.8
但是,当我运行python setup.py build_ext
时,我收到以下错误
运行build_ext
error: don't know how to compile C/C++ code on platform 'posix' with 'gcc-mp-4.8' compiler
如何让setup.py使用我的gcc gcc-mp-4.8
版本?
目前,setup.py默认使用/usr/bin/clang
,当我输入gcc -v
时,它显示它正在使用gcc版本4.8.2
答案 0 :(得分:6)
根据我的理解,--compiler
选项需要“unix”,“msvc”,“cygwin”,“mingw32”,“bcpp”或“emx”。您可以尝试通过指定CC环境变量来设置编译器名称。
在setup.py
内设置os.environ
:
os.environ["CC"] = "gcc-4.8"
os.environ["CXX"] = "gcc-4.8"
或只是:
CC=gcc
g++
也会像这样使用;
os.environ["CXX"] = "g++-4.7"