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