ImportError:DLL加载失败:不是有效的Win32应用程序

问题描述:

我想用Cython来包装一个C++类。基本上我遵循this page的例子。ImportError:DLL加载失败:不是有效的Win32应用程序

我使用Windows7 64-bitPython 2.7.4 64-bitMinGW 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

看来问题在于你正在使用MinGW进行编译,你必须使用SDK进行commpile ...为了使代码在Windows 7 64位工作,这是必须的。你可以在当前的软件+硬件配置中编译其他的Cython代码吗? –

我结束了一切切换到32位(蟒蛇,wxPython等),现在一切都很好。

所以,我真的建议你使用“file rect.pyd”命令来确定你的模块是否真的是64位。

+0

你可以使用GNUfile for windows。一旦安装,然后“文件rect.pyd”http://gnuwin32.sourceforge.net/packages/file.htm – 16num