使用 MinGW C 编译器代替 Microsoft Visual Studio Express for Python

Posted

技术标签:

【中文标题】使用 MinGW C 编译器代替 Microsoft Visual Studio Express for Python【英文标题】:Using MinGW C compiler instead of Microsoft Visual Studio Express for Python 【发布时间】:2015-12-20 09:09:02 【问题描述】:

我正在尝试安装 python 包 pyOpt,但在使用 Microsoft Visual Studio Express 时遇到了困难,因为我正在运行 Python 的 64 位安装。

如果系统无法访问其他 c/Fortran 编译器,pyOpt 开发人员建议使用 MinGW-W64。

我现在已经安装了 MinGW-W64,但标准的python setup.py install 似乎仍然想使用 VS。

如何告诉安装程序改用 MinGW 的编译器? MinGW 应该自带必要的 c 编译器,还是我必须先在 MinGW 中安装一个?

【问题讨论】:

Python 需要 Windows 上特定版本的 MS 编译器。在这件事上你别无选择。不过 64 位编译器很容易获得。 谢谢戴维斯。您指的是现成的 MinGW 编译器吗?还是说 Python 不能使用 MinGW 编译器,必须使用“特定版本的 MS 编译器”? Python C 模块必须使用特定的 MS 编译器进行编译。 【参考方案1】:

    只需启动%APPDATA%\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\vcvarsall.bat amd64,您将获得 64 位 Python 环境

    MinGW 编译器需要大量调整才能链接到正确的 msvcr90.dll 库,但也可以使用 MinGW 进行编译 - http://www.mingw.org/wiki/HOWTO_Use_the_GCC_specs_file

【讨论】:

以上是关于使用 MinGW C 编译器代替 Microsoft Visual Studio Express for Python的主要内容,如果未能解决你的问题,请参考以下文章

如何在 virtualenv 中使用 MinGW 编译 Python C 扩展?

MinGW

Windows下使用mingw+cmake编译C/C++程序

使用 gcc (resp. MinGW) 编译器的 C 中函数的参数数量是不是有上限?

MinGW安装和使用

sublime text怎么加入mingw编译器