我正在使用boost 1_53在VS 2010中进行编译。 我也在使用boost的线程。
在编译过程中我遇到了很多这样的错误
c:\ program files(x86)\ microsoft visual studio 10.0 \ vc \ include \ ctime(18):error C2039:'clock_t':不是'`global namespace''的成员
所有错误都是ctime
和c_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>
答案 0 :(得分:11)
某些东西,代码库中的某个地方包含一个不同的“time.h”。我刚刚发现这个迁移代码从Linux迁移到Windows - 因为windows不区分大小写,本地“Time.h”(注意大写)被包含为“time.h”,导致你看到的错误。
根据someone's post,FFMPEG可以通过这种精确的机制引起这个问题。
请查看您的代码库和/或库中的“time.h”,看看是否发生了这种情况。否则,另一个选择是输出完全预处理的源,以查看在违规文件中实际编译的内容。