强制setup.py使用我的自定义编译器

时间:2014-08-31 18:40:19

标签: python c++ macos macports

我试图让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

1 个答案:

答案 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"