Windows - 使用 mingw 进行 pip 安装 - 失败 - cc1.exe:错误:无法识别的命令行选项“-mno-cygwin”

Posted

技术标签:

【中文标题】Windows - 使用 mingw 进行 pip 安装 - 失败 - cc1.exe:错误:无法识别的命令行选项“-mno-cygwin”【英文标题】:Windows - pip install with mingw - Fails - cc1.exe: error: unrecognized command line option '-mno-cygwin' 【发布时间】:2013-05-01 15:33:13 【问题描述】:

我正在使用 Python27

我的 PATH 包含

C:\MinGW\libexec\gcc\mingw32\4.6.2
C:\MinGW\bin
C:\MinGW\msys\1.0\bin
C:\Python27\
C:\Python27\Scripts

我的 PYTHONPATH 包含

C:\Python27
C:\Python\Lib\site-packages

当我尝试安装某些软件包时,我不断收到 gcc 错误

cc1.exe: error: unrecognized command line option '-mno-cygwin'

似乎是罪魁祸首,但我一直无法找到有关如何解决此问题的信息。

一些错误示例:

pip install ctypes 
....
building '_ctypes' extension

    C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -Isource/libffi_msvc -IC:\Python27\Lib\site-packages\numpy\core\include -IC:\boost_1_53_0 -IC:\Python27\include -IC:\Python27\PC -c source/_ctypes.c -o
    build\temp.win32-2.7\Release\source\_ctypes.o

    cc1.exe: error: unrecognized command line option '-mno-cygwin'

    error: command 'gcc' failed with exit status 1

另一个有同样问题的人

pip install bzr
....
building 'bzrlib._annotator_pyx' extension

C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -DWIN32 -IC:\Python27\Lib\site-packages\numpy\core\include -IC:\boost_1_53_0 -IC:\Python27\include -IC:\Python27\PC -c bzrlib/_annotator_pyx.c -o build\
temp.win32-2.7\Release\bzrlib\_annotator_pyx.o

cc1.exe: error: unrecognized command line option '-mno-cygwin'



  Cannot build extension "bzrlib._annotator_pyx".

【问题讨论】:

【参考方案1】:

Python\Lib\distutils\cygwinccompiler.py 中的-mno-cygwin 会导致此问题:请参阅Compiling with cython and mingw produces gcc: error: unrecognized command line option '-mno-cygwin' 或http://korbinin.blogspot.com/2013/03/cython-mno-cygwin-problems.html

我的 Python 发行版 (Anaconda) 的 cygwinccompiler.py 没有。无论如何,在删除 Mingw32CCompiler 类的定义中的所有 -mno-cygwin 之后,您应该能够编译。

【讨论】:

以上是关于Windows - 使用 mingw 进行 pip 安装 - 失败 - cc1.exe:错误:无法识别的命令行选项“-mno-cygwin”的主要内容,如果未能解决你的问题,请参考以下文章

使用 MinGW 进行 Windows 编程

无法将 Python 3.5 配置为在 Windows 上使用 Visual C++ 编译器

windows上如何卸载C语言编译器MinGW?

使用 MinGW 在 Windows 上构建 GLEW 1.7.0

如何将 Windows 中的 CodeBlocks MingW 编译到 Ubuntu 或 Centos

MinGW在Windows下安装与使用