9

换一种方式来提出这个问题,来自python.org的 Python 构建的每个官方版本的 Python 是什么版本的 Visual C++,以及哪些版本的 MinGW 与这些版本的 Visual C++ 兼容?

是否可以在某些网站上轻松获得这些信息?

4

3 回答 3

9

PCbuild\readme.txt每个 Python 版本的源代码分发中的文件都包含用于制作二进制文件的 Visual Studio 版本。

Python 2.6、2.7、3.1 和 3.2 都是用 VS 2008 编译的。Python 3.3 和 3.4 是用 VS 2010 编译的。

我不确定 MinGW 的兼容性。

如果您正在寻找命令行编译器,Microsoft 为 Windows 7 发布了两个不同的 SDK,其中包括命令行编译器。第一个 SDK(用于 .NET 3.5)包括 VS 2008 编译器。第二个 SDK(用于 .NET 4.0)包括 VS 2010 编译器。

更新:PCbuild\readme.txt每个 Python 版本的源代码分发中的文件都包含用于制作二进制文件的 Visual Studio 版本。

于 2012-08-19T20:04:02.603 回答
3

大概,您正在谈论构建 Python 扩展以动态链接与 Python 实例所执行的相同 C 运行时库的要求。首先应该注意,这取决于实例的构建方式,即,如果您自己从源代码构建 Python,则决定使用的运行时库的是您用于构建的编译器版本,而不是 Python 的版本.

如果您想知道官方二进制版本的运行时库版本,您可以使用您最喜欢的 DLL 依赖工具(例如Dependency Walker )自行解决,或者查看安装程序中包含的可再发行运行时库。

根据我非常简短的研究,我相信您可以将最新版本的 MinGW 与这些运行时库中的任何一个一起使用。默认情况下,它使用 Windows 内置的 C 运行时 msvcrt.dll,但它似乎支持使用 VC++ 运行时。

于 2012-08-19T19:59:19.900 回答
2

如果有人在 2020 年仍然对此感兴趣:我发现这个(更新的)页面列出了每个 CPython 版本使用的 Visual C++ 编译器版本(以及包含它们的 Visual Studio 版本):

https://wiki.python.org/moin/WindowsCompilers

于 2020-06-05T06:29:06.080 回答