我正在使用下面列出的结构和方法,包括sys / time.h或time.h都不会改变任何东西。可能是什么问题?

    struct tm theTime;
    strptime((char *)nodeValue, "%a %b %d %H:%M:%S +0000 %Y", &theTime);
    time_t epochTime = timegm(&theTime);

我正在使用XCode并为armv7进行编译。 (以前,这很好用。我不知道自从以前发生了什么变化。)

我收到以下错误:
    Variable has incomplete type 'struct tm'
    Implicit declaration of function 'strptime' is invalid in C99
    Implicit declaration of function 'timegm' is invalid in C99

最佳答案

通过在编译时或在包含标头之前定义功能测试宏-D_POSIX_C_SOURCE=200809L来启用声明:

 #define _POSIX_C_SOURCE 200809L
 #include <time.h>

有关功能测试宏_POSIX_C_SOURCE的更多信息,请参见here

10-06 01:19