ImportError:DLL加载失败:不是有效的Win32应用程序
问题描述:
我想用Cython来包装一个C++类。基本上我遵循this page的例子。ImportError:DLL加载失败:不是有效的Win32应用程序
我使用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位至少兼容。这种错误怎么会发生?
我可以知道我该如何解决此问题?
非常感谢! :-)
答
我结束了一切切换到32位(蟒蛇,wxPython等),现在一切都很好。
所以,我真的建议你使用“file rect.pyd”命令来确定你的模块是否真的是64位。
+0
你可以使用GNUfile for windows。一旦安装,然后“文件rect.pyd”http://gnuwin32.sourceforge.net/packages/file.htm – 16num
看来问题在于你正在使用MinGW进行编译,你必须使用SDK进行commpile ...为了使代码在Windows 7 64位工作,这是必须的。你可以在当前的软件+硬件配置中编译其他的Cython代码吗? –