timespec是否未在Windows中定义?

时间:2010-02-22 21:05:43

标签: windows time timespec

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

这是确切的错误:

error C2027: use of undefined type 'timespec'

由于

3 个答案:

答案 0 :(得分:5)

struct timespec来自posix,通常在unix上找到,但不在Windows上。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

尝试包含pthread.h。那是在Codeblock随附的ming32编译器中定义timespec的地方。

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

#include <time.h>

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

解决方案2 ... 您不需要预先设定的时间规格!您可以自己定义! mingw是做什么的!

struct timespec { /* details */ };

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