【问题标题】:Python: -mno -cygwin蟒蛇:-mno -cygwin
【发布时间】:2012-03-10 08:21:38
【问题描述】:

我正在尝试在 Windows 上学习很多 python,其中包括安装几个软件包,但是每次我调用 python setup.py install 时,我都会遇到 -mno -cygwin for gcc 的问题。

我已经阅读了很多文章,似乎他们希望这些单独的包在他们自己的构建中等待修复。

谁能给我一个 gcc 版本,我可以安装它仍然支持 -mno -cygwin,这样我就可以继续研究我想关注的领域?

谢谢!

【问题讨论】:

  • gcc 4.7.0 中删除了已弃用的 -mno-cygwin 选项。有关详细信息,请参阅this question

标签: python gcc cygwin


【解决方案1】:

我也遇到过这个问题,这是 Python 代码中的一个错误。我发现修复它的唯一方法是编辑文件C:\Python27\Lib\distutils\cygwinccompiler.py

在此文件中,您必须删除所有出现的-mno-cygwin

通过 MinGW 安装的 GCC 也是如此。

【讨论】:

  • 为了澄清这一点,它应该只出现四次,在Mingw32CCompiler.__init__。修复应该是可靠的。
【解决方案2】:

我遇到了同样的问题,已通过在C:\Python27\Lib\distutils\cygwinccompiler.py 中将字符串“-mno-cygwin”的实例替换为“”来解决

原码:

    self.set_executables(compiler='gcc -mno-cygwin -O -Wall',
                         compiler_so='gcc -mno-cygwin -mdll -O -Wall',
                         compiler_cxx='g++ -mno-cygwin -O -Wall',
                         linker_exe='gcc -mno-cygwin',
                         linker_so='%s -mno-cygwin %s %s'
                                    % (self.linker_dll, shared_option,
                                       entry_point))

更新代码:

    self.set_executables(compiler='gcc "" -O -Wall',
                         compiler_so='gcc "" -mdll -O -Wall',
                         compiler_cxx='g++ "" -O -Wall',
                         linker_exe='gcc ""',
                         linker_so='%s "" %s %s'
                                    % (self.linker_dll, shared_option,
                                       entry_point))

您使用什么版本的 GCC 编译器?如果您使用 GCC 3.4.4,您将不会遇到此问题,否则您需要将“-mno-cygwin”字符串替换为上面提到的空引号,特别是对于 GCC 4.3.7。

【讨论】:

    猜你喜欢
    • 2010-10-27
    • 2010-10-21
    • 2016-05-28
    • 2014-08-01
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多