2013-10-09 149 views
3

我想用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代碼嗎? –

回答

1

我結束了一切切換到32位(蟒蛇,wxPython等),現在一切都很好。

所以,我真的建議你使用「file rect.pyd」命令來確定你的模塊是否真的是64位。

+0

你可以使用GNUfile for windows。一旦安裝,然後「文件rect.pyd」http://gnuwin32.sourceforge.net/packages/file.htm – 16num

相關問題