Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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
在Eclipse上配置Python源代码_Python_C_Eclipse - Fatal编程技术网

在Eclipse上配置Python源代码

在Eclipse上配置Python源代码,python,c,eclipse,Python,C,Eclipse,我想知道是否有人在Eclipse/Linux上使用Python的源代码?我已将其作为makefile项目导入,它的构建正常,但错误解析器无法正确解析某些定义,并产生大量类似以下的语义错误: Field 'Py_DECREF(argtuple)' could not be resolved Attempt to use symbol failed: tp_dealloc in file /mnt/proj/c/Python-3.4.3/Python/bltinmodule.c:416 At

我想知道是否有人在Eclipse/Linux上使用Python的源代码?我已将其作为makefile项目导入,它的构建正常,但错误解析器无法正确解析某些定义,并产生大量类似以下的语义错误:

Field 'Py_DECREF(argtuple)' could not be resolved   
Attempt to use symbol failed: tp_dealloc in file /mnt/proj/c/Python-3.4.3/Python/bltinmodule.c:416
Attempt to use symbol failed: ob_type in file /mnt/proj/c/Python-3.4.3/Python/bltinmodule.c:417
Attempt to use symbol failed: tp_free in file /mnt/proj/c/Python-3.4.3/Python/bltinmodule.c:417
Attempt to use symbol failed: ob_type in file /mnt/proj/c/Python-3.4.3/Python/bltinmodule.c:436
Attempt to use symbol failed: tp_iternext in file /mnt/proj/c/Python-3.4.3/Python/bltinmodule.c:436
Attempt to use symbol failed: ob_refcnt in file /mnt/proj/c/Python-3.4.3/Python/bltinmodule.c:449
我检查了该字段(它是
Include/object.h
中的一个宏),似乎错误是因为宏使用了一个尚未定义的结构(它在
pyport.h
中定义,而
object.h
中未包含该结构)。我创建了以下项目:

#include <stdio.h>
#include <stdlib.h>
#include "/mnt/proj/c/Python-3.4.3/Include/pyport.h"
#include "/mnt/proj/c/Python-3.4.3/Include/object.h"

int main(void) {
    PyObject po;
    Py_DECREF(&po);
    return 0;
}
这些符号与
对象.h
中定义的
类型对象
结构相关。该结构的定义使用
PyObject\u VAR\u HEAD
宏,在同一文件中定义如下:

#define PyObject_VAR_HEAD      PyVarObject ob_base;

但是
PyVarObject
结构在
PyObject\u VAR\u HEAD
之后定义了几行。它不会导致这些错误吗?

的确,
object.h
不包括
pyport.h
,但我随意选择了一个Python源文件,它包括
Python.h
,其中既包括
pyport.h
,也包括
object.h
,因此,只要您包含
Python.h
而不是单个头文件,就应该可以了。不幸的是,包含
Python.h
并不能纠正错误。但是,我编辑了这篇文章,并提供了一些附加信息。如果Eclipse抱怨宏使用了未定义的东西,那么Eclipse是错误的,因为宏是在其使用站点而不是定义站点展开的。Eclipse说“尝试使用符号失败”。失败的原因还不清楚。我这样问是希望有人在Eclipse上使用Python,并且知道应该进行什么配置。