我正在编写一个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());
谁知道发生了什么事?
既然你没有给我们足够的信息来调试任何东西,我会对最可能出现的问题进行猜测。
请注意,在documentation you linked to的顶部,它说:
datetime
模块提供各种日期和时间对象。在使用任何这些函数之前,头文件datetime.h
必须包含在源代码中(请注意,Python.h
不包含它),并且必须调用宏PyDateTime_IMPORT
,通常作为模块初始化函数的一部分。宏将指向C结构的指针放入静态变量PyDateTimeAPI
中,该变量由以下宏使用。
如果你只是忘了宏,这会编译但在运行时崩溃,因为PyDateTimeAPI
将为NULL。
但如果你忘了#include
datetime.h
,那将导致你所看到的。