【问题标题】:Force setup.py to use my custom compiler强制 setup.py 使用我的自定义编译器
【发布时间】:2014-10-25 01:10:08
【问题描述】:

我正在尝试让 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版

【问题讨论】:

  • 您是否尝试过使用 gcc-mp-4.8 的绝对路径?
  • @l'L'l 仍然报错,error: don't know how to compile C/C++ code on platform 'posix' with '/opt/local/bin/gcc-mp-4.8' compiler
  • 您也可以尝试在您的路径中设置 macports gcc,使其默认为该版本;好像还在看clang。
  • @l'L'l 问题是如何,我也在上面添加了更多信息。

标签: python c++ macos macports


【解决方案1】:

据我了解,--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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    相关资源
    最近更新 更多