strptime给出“隐含声明”和“未定义引用”

所以,当我使用strptime函数strptime我得到一个警告:

 warning: implicit declaration of function 'strptime' 

然后是错误:

 undefined reference to 'strptime' 

是的,我已经包含了time.h 这是我使用它的一个小示例代码。

 #include  void my_function() { char buf* = "2016-02-05 12:45:10"; struct tm time*; ... strptime(buf, "%F %T", &time); ... } 

我知道time.h正在工作,因为在同一个.c文件中,我正在使用strftimetime_t和来自time.h 'struct tm而没有问题。 我知道这很strptime ,因为当我评论这行代码时,它编译没有任何问题。

您很想告诉我们您的平台,编译器版本,参数……

无论如何, strptime不是标准的C,而是附带POSIX。 可能你的编译器选项错误,因此它没有为你提供对C的POSIX扩展。例如,使用gcc,这将是使用-std=gnu11而不是-std=c11