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

问题描述 投票:1回答:1

我正在编写一个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());

谁知道发生了什么事?

python node.js python-2.7 v8 cpython
1个回答
1
投票

既然你没有给我们足够的信息来调试任何东西,我会对最可能出现的问题进行猜测。

请注意,在documentation you linked to的顶部,它说:

datetime模块提供各种日期和时间对象。在使用任何这些函数之前,头文件datetime.h必须包含在源代码中(请注意,Python.h不包含它),并且必须调用宏PyDateTime_IMPORT,通常作为模块初始化函数的一部分。宏将指向C结构的指针放入静态变量PyDateTimeAPI中,该变量由以下宏使用。

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

但如果你忘了#include datetime.h,那将导致你所看到的。

© www.soinside.com 2019 - 2024. All rights reserved.