【问题标题】:MinGW undefined reference to `___atomic_fetch_sub_4'MinGW 未定义对 `___atomic_fetch_sub_4' 的引用
【发布时间】:2012-06-30 00:46:32
【问题描述】:

当尝试构建一个使用原子操作的简单测试程序时,我得到了错误 undefined reference to `___atomic_fetch_sub_4'
具体来说,只有当我将--== 结合使用时才会发生这种情况:

std::atomic&ltstd::size_t> foo;
if (--foo == 42) { ... }

代码可以正常编译,但在尝试链接时出现错误。我将 MinGW 与 GCC 4.7 一起使用。

【问题讨论】:

标签: c++ c++11 mingw atomic compare-and-swap


【解决方案1】:

std::threadstd::atomic 对 MinGW 的支持仍然非常有限。如果你想在 Windows 上试验那些 C++11 功能,我推荐Visual Studio 2012 RC

【讨论】:

  • 问题是 Visual Studio 2012RC 仍然没有我需要的可变参数模板
  • 好吧,那么唯一的选择是使用支持原子的MinGW-w64(但是,我不能保证您不会遇到任何问题)。另外,std::threadstd::regex 仍然缺乏。
猜你喜欢
  • 1970-01-01
  • 2020-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-06
  • 2011-08-13
相关资源
最近更新 更多