【问题标题】:How can I compile cymunk for windows?如何为 Windows 编译 cymunk?
【发布时间】:2014-10-13 18:22:07
【问题描述】:

我尝试在 win7 x32(vbox) 和 x64 上使用 mingw 和几个版本的 python
在 x64 上,cymunk 编译,但在导入时崩溃并出现 ntdll.dll 错误
在 x32 上,cymunk 无法编译并出现“侏儒错误”

我必须使用 MSVC 吗?如果是这样,如何以及什么版本?

感谢任何答案!

额外信息:
http://cython.org/ - 尝试手动编译 cython,从 pip/easy_install,从 kivy 和预编译(版本 0.20.2 和 0.20.1-b?)
使用 python 2.7.6 和最新版本,也与 kivy 捆绑在一起
使用最新的 mingw,并与 kivy 捆绑在一起

x32(vbox) 日志带有 dwarf 错误:http://pastebin.com/vgkcwj6W

我在 github 上打开的问题:https://github.com/tito/cymunk/issues/26

【问题讨论】:

  • Python 本身是使用 MSVC 编译的。搜索 Windows SDK 以找到独立的 MSVC x64 编译器。使用 MinGW 可能会导致运行时冲突的问题,至少在过去是这样。
  • 感谢您的信息!似乎chipmunk(lib cymunk wraps)在使用msvc2008(用于编译官方py 2.7的版本)编译时存在问题
  • 看来我可能需要:(a) 使用 mingw 或最近的 msvc 自定义编译 python (b) 修改 Chimmunk 以再次在 msvc2008 下编译实用的是……

标签: python windows mingw cython kivy


【解决方案1】:

我很确定这与您的环境有关。尝试使用至少 4.8.2 版的 mingw 并确保您的机器上没有多个 mingw 版本(或 mingw 和 cygwin 等)

如果您有多个版本的 mingw(也许还有 cygwin?),您最终可能会使用最新版本的编译器,但指向 LIB 目录的一些环境变量来自其他版本之一(可能是不兼容的 mingwrt?)

我建议你尝试使用这个工具http://sourceforge.net/projects/mingw/files/Installer/ 来管理mingw 包; 也许也是一个

mingw-get 升级“mingwrt=4.0.3”

(最新的mingw运行时系统-我猜是ntdll错误是这个造成的)

【讨论】:

  • 感谢您的回复!然而,我已经在使用最新的 mingw,在包括 winxp、7 和 8 在内的多台机器(一些虚拟机)上进行了测试,其中一台是完全干净安装的 windows(xp 和 8)
  • 嘿!修复。传递给 gcc 的 arg 对于 windows 不正确
【解决方案2】:

Windows 上的技巧是使用 -std=gnu99 而不是 -std=c99 - 在花栗鼠论坛上注意到。

我已经相应地更新了cymunk。

https://github.com/tito/cymunk/commit/2906ea14cbfaf42c067df4df59404c63de953c3b

现在为 windows 编译应该容易得多。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2018-05-01
    相关资源
    最近更新 更多