我看过 this 解决方案,但我遇到了同样的错误。对于一个类,我们不得不切换到 c99 编译器而不是 gnu,但现在 timespec 似乎被破坏了。除了“时间规范的存储大小未知”之外,我还收到了一堆其他错误,例如“未声明 CLOCK_MONOTONIC”、“取消引用指向不完整类型 'struct timespec' 的指针”以及未使用的变量警告,但我认为这些错误会消失一旦我解决了编译器问题。
我不认为我声明 timespec 变量的方式有什么问题,struct timespec startTime;
最佳答案
由于这种“时钟”支持不是 C99 而是 POSIX,因此默认情况下不启用。
要启用它,您需要将选项 -D_POSIX_C_SOURCE=199309L
传递给编译器或放置一个
#define _POSIX_C_SOURCE 199309L
在有问题的源文件的开头。
See also
man clock_gettime
for reference.关于c - 时间规范的存储大小未知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42597685/