强制setup.py使用我的自定义编译器
我正在尝试让 setup.py
使用 macports 版本的 gcc 来编译 C++ 代码。问题是我想构建的代码不支持 mac 默认的 clang,而在较新的 macOS 版本中,clang 是默认的 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 个回答
11
根据我的理解,--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"