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