2

对我来说,这个答案很难找到,这似乎很奇怪。我已经包含了 time.h 和 ctime,但是 vc9 仍然在抱怨未定义的类型 'timespec'。我在这里、MSDN 和网络上进行了搜索(即使有确切的编译器错误),但我找不到答案......也许它只是在噪音中迷失了。

这是确切的错误:

error C2027: use of undefined type 'timespec'

谢谢

4

3 回答 3

5

struct timespec来自posix,通常在unix上找到,但在windows上没有。

于 2010-02-22T21:37:01.460 回答
0

如果您尝试在 Windows 下编译具有 *nix-y 出处的代码,那么使用 cygwin 和 gcc 之类的东西可能会更好,它可以为您提供类似 *nix 的环境。

于 2010-02-22T21:51:16.360 回答
0

尝试包括 pthread.h 。这就是我在与 Codeblocks 一起打包的 ming32 编译器中定义 timespec 的地方。

为什么?我不知道。只是...

#include <time.h>

#ifndef POSIX MORALITY
    #include <pthread.h>
#endif

解决方案 2...您不需要预定义的时间规范!你可以自己定义!这就是 mingw 所做的!

struct timespec { /* details */ };

您甚至不必创建 timespec。您可以创建 struct Fun 或 struct Jav::timespec; 具有相同的结构并将其转换为 timespec*。当确实定义了 timespec 时,这样做会使您的代码更具可移植性。

于 2020-03-05T19:24:28.210 回答