Cython和gcc:无法运行编译程序

时间:2012-05-25 18:40:34

标签: python c gcc mingw cython

我遇到了python到C代码转换和进一步编译的问题。

首先,我安装了MinGW,写了`setup.py?脚本和翻译的python代码(最简单的helloworld)到C与Cython:

  

python setup.py build_ext --inplace

然后我尝试编译生成的.c文件:

  

gcc.exe helloworld.c -mdll -IC:\Python27\include -IC:\Python27\PC -LC:\Python27\libs -LC:\Python27\PCbuild -lpython27 -lmsvcr90

编译期间没有发生错误,但是当我尝试启动生成的 a.exe 文件时,出现以下错误:

  

a.exe不是有效的Win32应用程序

我不知道如何解决这个问题 我正在运行32位Vista 附:抱歉我的英语不好。

2 个答案:

答案 0 :(得分:2)

请参阅Embedding Cython上的Cython wiki,了解如何使用Cython

创建独立的可执行文件

答案 1 :(得分:2)

编译后的文件不是可执行文件,它是一个库(dll)。

Windows上的python模块通常具有.pyd扩展名,因此要么将文件重命名为helloworld.pyd,要么使用-o helloworld.pyd作为编译器的参数。

然后你应该可以从python import helloworld