在Windows下用C语言嵌入Python

时间:2018-05-17 13:48:46

标签: python c windows mingw embedding

我想在Windows 10上使用minGW编译包含Header Python.h的.c文件。我的目标是在C中嵌入一些pythoncode,这只是对编译的一点测试。
我的源文件如下:

#include <stdio.h>
#include <C:\Python27\include\Python.h>

int main() 
{
    printf("Hello World from C");

    Py_Initialize();

    PyRun_SimpleString("print('Hello World from Python!!!')");

    Py_Finalize();


    return 0; 
}


我的makefile如下:

all: HelloWorld.c
    gcc -Wall -I C:\Python27\include -L C:\Python27\libs  -o HelloWorld.exe HelloWorld.c -lpython27


因此,如果我用这个makefile编译我的源代码,我会收到以下错误:

gcc -Wall -I C:\Python27\include -L C:\Python27\libs  -o HelloWorld.exe HelloWorld.c -lpython27
C:\Users\ga96dux\AppData\Local\Temp\ccUQs2pM.o:HelloWorld.c:(.text+0x1b): undefined reference to `_imp__Py_Initialize'
C:\Users\ga96dux\AppData\Local\Temp\ccUQs2pM.o:HelloWorld.c:(.text+0x31): undefined reference to `_imp__PyRun_SimpleStringFlags'
C:\Users\ga96dux\AppData\Local\Temp\ccUQs2pM.o:HelloWorld.c:(.text+0x38): undefined reference to `_imp__Py_Finalize'
collect2.exe: error: ld returned 1 exit status
make: *** [all] Error 1


我已经尝试了我可以在互联网上找到的所有东西,但它不起作用,makefile有什么问题,有什么建议如何解决这个问题?非常感谢你!

0 个答案:

没有答案