CPython – 编译dails,PyDateTime_FromTimestamp没有声明?
我正在写一个V8加载项将JavaScript对象转换为Python,反之亦然。 我能够转换各种types,但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());
有人知道发生了什么事?
既然你没有给我们足够的信息来debugging任何东西,我会大概猜测最可能的问题。
请注意,在链接到它的文档的顶部说:
各种date和时间对象由
datetime
模块提供。 在使用这些函数之前,头文件datetime.h
必须包含在你的源文件中(注意Python.h
不包括这个) ,必须调用PyDateTime_IMPORT
macros,通常作为模块初始化函数的一部分。 该macros将一个指向C结构的指针放入一个静态variablesPyDateTimeAPI
,该variables由以下macros使用。
如果你只是忘记macros,这将编译,但然后在运行时崩溃,因为PyDateTimeAPI
将为NULL。
但是,如果你忘了#include
datetime.h
,那会导致你正在看到的东西。