使用Mingw和gcc构建Python

20

在Windows 7上,是否可能使用Mingw和gcc从源代码构建Python解释器?而且我想构建64位版本。

如果可以下载64位Python(gcc Mingw)版本,请告诉我,我会使用它。最终我仍然想用gcc和Mingw编译它。


下载源代码,阅读文档,并使用适当的标志运行编译器。这不仅适用于MinGW :) - StoryTeller - Unslander Monica
3
@StoryTeller,你的名字选得恰如其分。Python在MinGW下甚至不支持Win64平台,更别说直接编译了。 - rubenvb
2个回答

8
首先,您无需使用MinGW-w64构建Python并链接到它并嵌入解释器。只需提取msi安装程序并使用预构建的DLL即可。请注意,您必须小心不要混合msvcr[t|90] .dll对象,但我个人从未见过这是一个真正的问题。

MinGW-w64 gcc / ld应该能够直接链接到DLL,否则您将不得不使用gendef 创建.def文件dlltool创建导入库

其次,有一个使用MinGW构建Python的补丁集,但我不确定其是否兼容64位。

感谢您的回复。我想使用mingw和gcc编译64位的Quantum-Gis,并且它具有利用Python或C++编写的插件的功能。为此,我需要在Win7上64位的Sip和PyQt4。我通过gendef/nm过程创建了libpython27.a文件。我开始使用Mingw、gcc和Python 2.7.3全部都是64位来构建Sip,成功地完成了构建,并且可以在Python控制台中测试Sip。我成功地编译并安装了PyQt4,但在Python控制台中测试时失败了。 - Theuns Heydenrych
我不知道如何调试这个故障? 由于这个故障,我推断也许我需要使用mingw和gcc在64位上编译Python 2.7.3。您认为,如果我下载使用MSVC构建的预编译64位Sip和PyQt4二进制文件,以后会不会出现与这些二进制文件编写的其他python脚本/插件相关的问题? - Theuns Heydenrych
@TheunsHeydenrych 我不知道。我建议您询问 mingw-w64-public@sourceforge.net 邮件列表,那里有一些人使用MinGW-w64与Python。我所做的就是将 gdb 链接到Python,这正如我所描述的 ;-) - rubenvb
在追踪器中搜索“mingw”会返回大约50个未解决问题和100个已解决问题。 最近的一些未解决问题可能会有所帮助。 - Terry Jan Reedy
1
就我个人而言,我使用的是mignw64构建版本,它已经包含了Python 2.7的一个版本。 - Gauthier Boaglio

4

您可以尝试使用此代码库:

hg克隆https://bitbucket.org/puqing/python-mingw

这是官方代码库的副本,但包含了一些修改,以使其能够与mingw编译。进入PC / MinGW目录:

cd PC/MinGW && make

不确定是否在win64中编译,但在win32和msys中应该可以工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接