Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图将python嵌入tinycc,表示python符号未定义_Python_C_Compilation - Fatal编程技术网

试图将python嵌入tinycc,表示python符号未定义

试图将python嵌入tinycc,表示python符号未定义,python,c,compilation,Python,C,Compilation,我已经花了半个小时寻找解决方案,一切都涉及到GCC。我在这里所做的工作在GCC中非常好,但是我使用的是TinyCC,这就是我感到困惑的地方。首先是守则: #include <Python.h> #include <stdio.h> int main(int argc, char*argv[]) { Py_Initialize(); PyRun_SimpleString("print(\"Hello World!\")"); Py_Finalize(

我已经花了半个小时寻找解决方案,一切都涉及到GCC。我在这里所做的工作在GCC中非常好,但是我使用的是TinyCC,这就是我感到困惑的地方。首先是守则:

#include <Python.h>
#include <stdio.h>
int main(int argc, char*argv[])
{
    Py_Initialize();
    PyRun_SimpleString("print(\"Hello World!\")");
    Py_Finalize();
    return 0;
}
然后它变成一个大胖子,吐了出来

tcc: undefined symbol 'Py_Initialize'
tcc: undefined symbol 'PyRun_SimpleStringFlags'
tcc: undefined symbol 'Py_Finalize'
我完全不知所措,如果有人知道发生了什么,我真的很感激


在请一位朋友试用后,我发现这实际上是windows的问题。请在此提醒可能在windows上使用python尝试tinycc的其他人。

您是否使用
tiny_impdef.exe
为python DLL创建
.def
文件?

您是否使用
tiny_impdef.exe
为python DLL创建
.def
文件?

windows的完整解决方案:

  • 根据bk1e的建议,提供tiny_impdef

    tiny_impdef.exe c:\WINDOWS\system32\python25.dll

  • 将python25.def(或python26.def)添加到编译列表中

    tcc tiny.c python25.def-IC:\python25\include-LC:\python25\libs-lpython25

    (对于Python2.6,将25替换为26)


  • Windows的完整解决方案:

  • 根据bk1e的建议,提供tiny_impdef

    tiny_impdef.exe c:\WINDOWS\system32\python25.dll

  • 将python25.def(或python26.def)添加到编译列表中

    tcc tiny.c python25.def-IC:\python25\include-LC:\python25\libs-lpython25

    (对于Python2.6,将25替换为26)


  • 你知道些什么D非常感谢你:你知道些什么!:D非常感谢你:D
    tcc: undefined symbol 'Py_Initialize'
    tcc: undefined symbol 'PyRun_SimpleStringFlags'
    tcc: undefined symbol 'Py_Finalize'