Python:-mno -cygwin

时间:2012-03-10 08:21:38

标签: python gcc cygwin

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

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

任何人都可以给我一个我可以安装的gcc版本仍然支持-mno -cygwin所以我可以继续研究我想要关注的领域吗?

谢谢!

2 个答案:

答案 0 :(得分:18)

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

在此文件中,您必须删除-mno-cygwin的每次出现。

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

答案 1 :(得分:1)

通过在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。