CPython - 编译dails,PyDateTime_FromTimestamp没有声明?

时间:2014-09-05 21:59:36

标签: python node.js python-2.7 v8 cpython

我正在编写一个V8插件来将javascript对象转换为python,反之亦然。我能够转换各种类型,但PyDateTime_FromTimestamp(在cpython文档中指定为https://docs.python.org/2/c-api/datetime.html#c.PyDateTime_FromTimestamp)显然是未定义的,导致编译失败。

../src/py_object_wrapper.cc:189:13: error: use of undeclared identifier 
'PyDateTime_FromTimestamp'
        return PyDateTime_FromTimestamp(value->NumberValue());

有人知道发生了什么事吗?

1 个答案:

答案 0 :(得分:1)

由于您还没有给我们足够的信息来调试任何内容,我会对最可能出现的问题进行猜测。

请注意,在documentation you linked to的顶部显示:

  

datetime模块提供了各种日期和时间对象。 在使用任何这些功能之前,源文件datetime.h必须包含在您的来源中(请注意Python.h 不包含此内容),以及宏{{1}必须调用,通常作为模块初始化函数的一部分。宏将指向C结构的指针放入静态变量PyDateTime_IMPORT中,该变量由以下宏使用。

如果您忘记了宏,这会编译但会在运行时崩溃,因为PyDateTimeAPI将为NULL。

但如果您忘记了PyDateTimeAPI #include,那将导致您所看到的内容。