【问题标题】:error C2039 : 'WaitForSingleObject' is not a member of 'boost::detail::win32'错误 C2039:“WaitForSingleObject”不是“boost::detail::win32”的成员
【发布时间】:2016-07-30 09:30:18
【问题描述】:

我正在尝试安装 c++ mongo 驱动程序,但是当我尝试使用 scons 构建它时,我收到以下错误 \util\concurrency\shared_mutex_win.hpp(180) : error C2039 : 'WaitForSingleObject' is not a member of '提升::细节::win32'。 请一位帮助我解决问题。我已在所需位置包含 windows.h 标头,但仍无法正常工作。我正在运行 Windows 8.1 x64、Visual Studio 2013 Ultimate。

【问题讨论】:

  • 只是一个猜测 - 你有没有把using namespace 放在任何头文件中?
  • 不,我没有将“使用命名空间”放在任何地方。我正在使用 boost 1.59.0,scons 2.1.0
  • 不要将诊断输出粘贴为屏幕截图。屏幕截图逃避文本搜索,使这个问题不易被发现,即没那么有用。
  • 非常感谢您的建议

标签: c++ mongodb winapi boost visual-studio-2013


【解决方案1】:

感谢通过删除与 shared_mutex_win.hpp 文件中的线程方法调用一起使用的范围解析运算符来修复它。即 boost::detail::WaitForSingleObject 变为 WaitForSingleObject , boost::detail::WaithForMultipleObjects 变为 WaitForMultipleObjects 。 我希望这会对后来的人有所帮助。

【讨论】:

  • 修改第 3 方库代码永远不能解决任何问题。
  • @steadybits 是的,你真的不需要这样做。您要安装哪个版本的 MongoDB 驱动程序?它看起来像 26compat 或 legacy。您是否有理由不使用 master 分支中较新的 C++11 驱动程序?此外,如果您需要这方面的帮助,请使用此处描述的有关如何寻求 26compat/legacy 驱动程序帮助的信息更新您的问题:github.com/mongodb/mongo-cxx-driver/wiki/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-11
  • 2015-06-22
  • 1970-01-01
相关资源
最近更新 更多