我正在使用下面列出的结构和方法,包括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。