【问题标题】:Build Python with Mingw and gcc使用 Mingw 和 gcc 构建 Python
【发布时间】:2013-02-28 04:52:58
【问题描述】:

是否可以在 Windows 7 上使用 Mingw 和 gcc 从源代码构建 Python 解释器? 我想建立一个64位的版本。

如果有 64 位 Python (gcc Mingw) 版本可供下载,请告诉我,我也会使用它。 最后还是想用gcc和mingw编译一下。

【问题讨论】:

  • 下载源代码,阅读文档,并使用适当的标志运行编译器。这不仅适用于 MinGW :)
  • @StoryTeller 你的名字选得恰到好处。 Python 不能使用 MinGW 开箱即用,更不用说 Win64。
  • @rubenvb,谢谢:P

标签: python gcc mingw mingw-w64


【解决方案1】:

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

MinGW-w64 gcc/ld 应该能够直接链接到 DLL,否则你将不得不使用 gendef to create a .def filedlltool to create an import library

其次,有一个patchset to build Python with MinGW,但我不确定它的 64 位兼容性。

【讨论】:

  • 感谢您的回复。原因是我想用 mingw 和 gcc 为 64 位编译 Quantum-Gis。 Quatum-Gis 能够利用用 python 或 c++ 编写的插件。为此,我需要 Win7 的 64 位 Sip 和 PyQt4。我通过 gendef/nm 过程创建了 libpython27.a 文件。我开始用 64 位的 Mingw、gcc 和 Python 2.7.3 构建 Sip,成功地,我还可以在 python 控制台中测试 Sip。我成功编译并安装了 PyQt4,但是在 python 控制台中测试它时失败了。
  • 不知道怎么调试这个故障?由于这次失败,我推断也许我需要用 64 位的 mingw 和 gcc 编译 Python 2.7.3。在您看来,如果我下载使用 MSVC 构建的预构建 64 位 Sip 和 PyQt4 二进制文件,我以后会遇到针对这些二进制文件编写的其他 python 脚本/插件的问题吗?
  • @TheunsHeydenrych 我不知道。我建议询问mingw-w64-public@sourceforge.net 邮件列表,其中有几个人使用 Python 和 MinGW-w64。我所做的只是将gdb 链接到Python,它的工作原理与我描述的;-) 一样。
  • 在跟踪器中搜索“mingw”会返回大约 50 个未解决的问题和 100 个已关闭的问题。最近的一些未解决问题可能会有所帮助。
  • 就我个人而言,我使用了一个mingw64 build,它已经包含了python 2.7的一个版本。
【解决方案2】:

你可以试试这个仓库:

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

它是官方存储库的副本,但包含一些修改以使其与 mingw 一起编译。进入PC/MinGW目录:

cd PC/MinGW && 制作

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

【讨论】:

    猜你喜欢
    • 2013-07-10
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    相关资源
    最近更新 更多