Force setup.py to use my custom compiler

2019-04-09 06:35发布

I'm trying to get setup.py to compile c++ code with the macports version of gcc. The problem is the code I am trying to build, doesn't support mac's default clang, which is the default gcc on newer osx versions.

I created a custom setup.cfg file

setup.cfg

[build_ext] 
compiler=gcc-mp-4.8

However when I run python setup.py build_ext I get the following error

running build_ext

error: don't know how to compile C/C++ code on platform 'posix' with 'gcc-mp-4.8' compiler

How can I get setup.py to use my version of gcc gcc-mp-4.8?

Currently setup.py defaults to using /usr/bin/clang, when i type gcc -v it shows that it is using gcc version 4.8.2

1条回答
老娘就宠你
2楼-- · 2019-04-09 07:24

The --compiler option expects "unix", "msvc", "cygwin", "mingw32", "bcpp", or "emx", from my understanding. You can try setting the compiler name by specifying a CC environment variable instead.

Inside setup.py try setting os.environ:

os.environ["CC"] = "gcc-4.8"
os.environ["CXX"] = "gcc-4.8"

or just:

CC=gcc

g++ would be used like this too;

os.environ["CXX"] = "g++-4.7"
查看更多
登录 后发表回答