我正在尝试使用Cython来包装C ++类。基本上我遵循this page的例子。
我正在使用Windows7 64-bit
,Python 2.7.4 64-bit
,MinGW 4.3.3 (32/64bit)
,并且SDK
已设置为x64 mode
。
在这种情况下,我成功构建了.pyd文件。我尝试使用以下代码导入它:
import sys
sys.path.append("C:\\Rectangle")
import rect
前两行效果很好。当我输入第三行时,它给出了以下消息:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
import rect
ImportError: DLL load failed: %1 is not a valid Win32 application.
我在64位模式下编译了扩展,我使用的每一个软件至少都与64位兼容。怎么会发生这样的错误?
我可以知道如何解决这个问题?
非常感谢! : - )
答案 0 :(得分:1)
我最终将所有内容切换到32位(python,wxPython等),现在一切都很好。
所以,我真的建议您使用“file rect.pyd”命令来确定您的模块是否真的是64位。