9

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

在编译期间我遇到了一堆这样的错误

c:\program files (x86)\microsoft visual studio 10.0\vc\include\ctime(18): error C2039: 'clock_t' : is not a member of '`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>
4

1 回答 1

18

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

根据某人的帖子,FFMPEG 可以通过这种精确的机制导致这个问题。

请查看您的代码库和/或库以查看“time.h”是否正在发生。否则,另一种选择是输出完全预处理的源代码,以查看有问题的文件中实际编译的内容。

于 2014-06-03T23:14:18.777 回答