我试图使用以下代码在C中调用Python代码:
#include <stdio.h>
#include <Python.h>
int main()
{
PyObject* pInt;
Py_Initialize();
PyRun_SimpleString("print('This is Python in C')");
Py_Finalize();
printf("\n");
return 0;
}
并尝试使用此命令进行编译:
gcc python_test_in_c.c
然而,它返回错误返回说:
undefined referance to `__imp __Py_Initialise`
undefined referance to `__imp__PyRun_SimpleSringFlags`
undefined referance to `__imp__Py_Finalise`
collect2.exe: error: ld returned 1 exit status
出了什么问题?我该如何解决这个问题?
任何帮助将不胜感激
P.S我不确定,但这可能与我在位于C:/ MinGW的MinGW的包含文件中复制Python“include”文件(包含Python.h)的事实有关吗
更新:我现在已经知道可以这样做,但认为是不好的做法。
答案 0 :(得分:2)
你没有链接到python库...
尝试:
gcc python_test_in_c.c -lpython3.6m
将3.6更改为您选择的版本......