windows下使用mingw编译python扩展模块

时间:2023-03-09 00:50:17
windows下使用mingw编译python扩展模块

环境:

1.python2.7.2

2.mingw20120426

说明:

PYTHON_HOME:不做特殊说明的话,默认代表python的安装路径。

MINGW_HOME:不做特殊说明的话,默认代表mingw的安装路径。

首选需要安装python和mingw,python就不多说了,至于mingw的安装可以参考这个链接

http://www.swingworks.net/2010/11/install_mingw_and_msys_with_mingw-get-inst/

如果想要离线的mingw组件包 可以通过这个链接下载 http://www.kuaipan.cn/file/id_4779452491895504.htm

下面说下修改全局的python默认编译器

1.将MINGW_HOME\bin加入到系统环境变量

2.修改PYTHON_HOME\Lib\distutils\distutils.cfg(如果文件不存在,请手动创建下)

3.添加如下几行

[build]
compiler = mingw32 

4.修改PYTHON_HOME\Lib\distutils\cygwinccompiler.py 找到包含-mno-cygwin的行,将-mno-cygwin替换为空(gcc4.6之后去除了-mno-cygwin这个参数,如果不去除,编译时会报错。可以使用gcc --version查看版本号)。如果有sed命令的话 可以使用sed替换

cd PYTHON_HOME\Lib\distutils && cp cygwinccompiler.py cygwinccompiler.py.bak && sed -i 's# -mno-cygwin##g' cygwinccompiler.py

  

这样以后就可以使用mingw来编译python的扩展模块了。