编译错误错误C2039:'clock_t':不是'`global namespace''的成员

Nem*_*Nem 8 c++ boost compiler-errors ctime

我正在使用boost 1_53在VS 2010中进行编译.我也在使用boost的线程.

在编译过程中我遇到了一堆像这样的错误

c:\ program files(x86)\ microsoft visual studio 10.0\vc\include\ctime(18):错误C2039:'clock_t':不是'`global namespace''的成员

所有错误都是关于ctimec_time.hpp.

我一直在寻找解决方案,但没有成功.

有人可以,请帮忙吗?

这里是代码的一部分.

#define BOOST_THREAD_USE_DLL 

#include <boost/optional.hpp>
#include <boost/thread.hpp>
#include <boost/thread/thread.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
Run Code Online (Sandbox Code Playgroud)

Dam*_*ien 12

代码库中的某个地方包含不同的"time.h".我刚刚发现这个迁移代码从Linux迁移到Windows - 因为windows不区分大小写,本地"Time.h"(注意大写)被包含为"time.h",导致您看到的错误.

根据某人的帖子,FFMPEG可以通过这种精确的机制引起这个问题.

请查看您的代码库和/或库中的"time.h",看看是否发生了这种情况.否则,另一个选项是输出完全预处理的源,以查看在违规文件中实际编译的内容.