我试图用gcc将Cython生成的c文件编译成可执行文件,但我得到了错误(在Windows 10上)
hello.c:6:20: fatal error: Python.h: No such file or directory
#include "Python.h"
我尝试过指定python的路径。h和-I没有用。在网上搜寻答案,但一无所获。我发现我需要python-devel,但据我所知,这在Windows上是不可用的。任何帮助都将不胜感激。
当我用-I指定时,我得到以下结果:
C:\Users\david\Desktop>gcc -I C:\Users\david\AppData\Local\Programs\Python\Python39\include\ hello.c
In file included from C:\Users\david\AppData\Local\Programs\Python\Python39\include/Python.h:85:0,
from hello.c:6:
C:\Users\david\AppData\Local\Programs\Python\Python39\include/pytime.h:123:59: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
PyAPI_FUNC(int) _PyTime_FromTimeval(_PyTime_t *tp, struct timeval *tv);
^~~~~~~
C:\Users\david\AppData\Local\Programs\Python\Python39\include/pytime.h:130:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
struct timeval *tv,
^~~~~~~
C:\Users\david\AppData\Local\Programs\Python\Python39\include/pytime.h:135:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
struct timeval *tv,
^~~~~~~
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x4a): undefined reference to `_imp___Py_Dealloc'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x155): undefined reference to `_imp__PyModuleDef_Init'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x166): undefined reference to `_imp__PyThreadState_Get'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x173): undefined reference to `_imp__PyInterpreterState_GetID'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x204): undefined reference to `_imp__PyExc_ImportError'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x216): undefined reference to `_imp__PyErr_SetString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x243): undefined reference to `_imp__PyObject_GetAttrString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x268): undefined reference to `_imp___Py_NoneStruct'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x286): undefined reference to `_imp__PyDict_SetItemString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x29d): undefined reference to `_imp__PyExc_AttributeError'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x2a7): undefined reference to `_imp__PyErr_ExceptionMatches'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x2b2): undefined reference to `_imp__PyErr_Clear'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x315): undefined reference to `_imp__PyObject_GetAttrString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x337): undefined reference to `_imp__PyModule_NewObject'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x364): undefined reference to `_imp__PyModule_GetDict'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x4bd): undefined reference to `_imp__PyExc_RuntimeError'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x4cf): undefined reference to `_imp__PyErr_SetString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x50b): undefined reference to `_imp__PyTuple_New'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x552): undefined reference to `_imp__PyBytes_FromStringAndSize'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x599): undefined reference to `_imp__PyUnicode_FromStringAndSize'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x5ee): undefined reference to `_imp__PyModule_GetDict'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x63a): undefined reference to `_imp__PyImport_AddModule'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x686): undefined reference to `_imp__PyImport_AddModule'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x6e5): undefined reference to `_imp__PyObject_SetAttrString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x754): undefined reference to `_imp__PyObject_SetAttr'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x77a): undefined reference to `_imp__PyImport_GetModuleDict'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x7bb): undefined reference to `_imp__PyDict_GetItemString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x7dd): undefined reference to `_imp__PyDict_SetItemString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x8a8): undefined reference to `_imp__PyDict_New'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x8f1): undefined reference to `_imp__PyDict_SetItem'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x98e): undefined reference to `_imp__PyErr_Occurred'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x999): undefined reference to `_imp__PyExc_ImportError'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x9ab): undefined reference to `_imp__PyErr_SetString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xa0e): undefined reference to `_imp__PyObject_GetAttr'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xb05): undefined reference to `_imp___PyObject_GetDictPtr'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xb86): undefined reference to `_imp___PyDict_GetItem_KnownHash'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xbd8): undefined reference to `_imp__PyObject_Not'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xbe3): undefined reference to `_imp___Py_FalseStruct'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xbea): undefined reference to `_imp___Py_TrueStruct'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xbff): undefined reference to `_imp__PyErr_Clear'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xc26): undefined reference to `_imp___Py_FalseStruct'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xc36): undefined reference to `_imp__PyObject_SetAttr'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xc3f): undefined reference to `_imp___Py_FalseStruct'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xc49): undefined reference to `_imp___Py_TrueStruct'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xc59): undefined reference to `_imp__PyObject_Not'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xe3c): undefined reference to `_imp__PyMem_Malloc'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0xf45): undefined reference to `_imp__PyMem_Realloc'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1039): undefined reference to `_imp__PyUnicode_FromFormat'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x104f): undefined reference to `_imp__PyUnicode_AsUTF8'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1073): undefined reference to `_imp__PyCode_NewEmpty'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x10b7): undefined reference to `_imp___PyThreadState_UncheckedGet'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1163): undefined reference to `_imp__PyFrame_New'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1182): undefined reference to `_imp__PyTraceBack_Here'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x11c2): undefined reference to `_imp__Py_SetProgramName'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x11c9): undefined reference to `_imp__Py_Initialize'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x11e9): undefined reference to `_imp__PySys_SetArgv'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1209): undefined reference to `_imp__PyModule_Type'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1228): undefined reference to `_imp__PyModule_Type'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1234): undefined reference to `_imp__PyType_IsSubtype'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x124c): undefined reference to `_imp__PyUnicode_FromString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1269): undefined reference to `_imp__PyModule_NewObject'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1291): undefined reference to `_imp__PyModule_ExecDef'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1298): undefined reference to `_imp__PyErr_Occurred'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x12a3): undefined reference to `_imp__PyErr_Print'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x12bc): undefined reference to `_imp__Py_FinalizeEx'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x130c): undefined reference to `_imp__PyObject_GetAttr'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1335): undefined reference to `_imp__PyDict_New'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x136d): undefined reference to `_imp__PyDict_SetItem'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x139b): undefined reference to `_imp__PyUnicode_FromStringAndSize'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x13cd): undefined reference to `_imp__PyDict_SetItem'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1417): undefined reference to `_imp__PyDict_New'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x144d): undefined reference to `_imp__PyUnicode_FromStringAndSize'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1488): undefined reference to `_imp__PyDict_SetItem'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x14d1): undefined reference to `_imp__PyObject_Call'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1551): undefined reference to `_imp__PyTuple_Pack'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x15c3): undefined reference to `_imp__PyBaseObject_Type'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x18e7): undefined reference to `_imp__PyOS_snprintf'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x18ee): undefined reference to `_imp__Py_GetVersion'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x190f): undefined reference to `_imp__PyOS_snprintf'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x195d): undefined reference to `_imp__PyOS_snprintf'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x197d): undefined reference to `_imp__PyErr_WarnEx'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x19ca): undefined reference to `_imp__PyUnicode_InternFromString'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1a0f): undefined reference to `_imp__PyUnicode_Decode'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1a35): undefined reference to `_imp__PyUnicode_FromStringAndSize'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1a5b): undefined reference to `_imp__PyBytes_FromStringAndSize'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1a80): undefined reference to `_imp__PyObject_Hash'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1ad8): undefined reference to `_imp__PyExc_DeprecationWarning'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1af6): undefined reference to `_imp__PyErr_WarnFormat'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1b21): undefined reference to `_imp__PyExc_TypeError'
C:\Users\david\AppData\Local\Temp\ccwMA4i4.o:hello.c:(.text+0x1b45): undefined reference to `_imp__PyErr_Format'
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status