解决办法 在#include头文件前面添加以下宏定义 #define _POSIX_C_SOURCE 199309L 类似如下这样, 如果是使用cmake,可以在CMakeLists.txt里加上这句 add_compile_options(-D_POSIX_C_SOURCE=199309L) 原因分析 本人的原因是开启了gcc的c99选项,即-std=c99 gcc和glibc版本查询 // 查看gcc版本 gcc -v // 查看glibc版本 ldd --version