在Eclipse上配置Python的源代码

时间:2015-09-09 01:01:23

标签: python c eclipse

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

Field 'Py_DECREF(argtuple)' could not be resolved   

我检查了那个字段(它是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;
}

它编译好,错误解析器解析它没问题。我删除了最后两个包含,并将这两个文件添加到Project/Properties/Preprocessor Include Paths/CDT User Setting Entries。错误解析器解析它没有(没有添加这两个标头,Py_DECREF产生“未解决”错误)。我试图在Python项目中做同样的事情(我已添加到CDT用户设置条目pyport.hobject.h标题),但这不是纠正错误。

必须创建哪些配置设置才能摆脱这些语义错误?

编辑1:

解析器日志中填充了以下条目:

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

这些符号与_typeobject中定义的object.h结构相关。该结构的定义使用PyObject_VAR_HEAD宏,在同一文件中定义如下:

#define PyObject_VAR_HEAD      PyVarObject ob_base;

但是PyVarObject结构在PyObject_VAR_HEAD之后定义了几行。它不能导致这些错误吗?

0 个答案:

没有答案