Cython与Visual C++编译器?
我用Cython生成了一个C文件,接下来我该怎么用Visual C++ 2010编译器来制作一个EXE文件呢?
我试过这个
cython.py Temp.py
cl.exe /MD /I "%ProgramFiles%\Python 2.6\include" Temp.c /link
/LibPath:"%ProgramFiles%\Python 2.6\libs"
但是它显示了这个错误
LINK : fatal error LNK1561: entry point must be defined
如果我把/MD
选项改成/MT
,那么我就得到了Temp.c
LIBCMT.lib(crt0.obj) : error LNK2019:
unresolved external symbol main referenced in function __tmainCRTStartup
1 个回答
7
默认情况下,Cython 生成的代码是为了创建一个 Python 模块,而不是一个可执行文件。举个例子,它会生成一个 init<modulename>()
的函数,但不会生成 main()
函数。如果你想改变这个情况,可以使用 --embed
这个选项,具体的说明可以参考 Embedding Cython。
另外,你也可以看看这个链接: Cython 能编译成 EXE 吗? -- 其中一个回答还给出了使用 VC++ 的示例。