【问题标题】:unordered_map not found [duplicate]未找到 unordered_map [重复]
【发布时间】:2015-11-24 02:44:51
【问题描述】:

我需要在 Qt 项目中使用包含 #include <unordered_map> 的 .cpp 文件(基于 Qt 5.4.2(Clang 6.0 (Apple),64 位))。但是,我得到了 错误:未找到“unordered_map”文件。我检查了unordered_map头文件所在文件夹的路径与<algorithm>相同, <utility><iostream><sstream> 包含在同一 .cpp 文件的开头。只有 'unordered_map' 找不到。有什么建议吗?

【问题讨论】:

  • 您是否启用了 C++11(或更高版本)?如果项目设置中没有复选框,请手动添加标志-std=c++11
  • 看看stackoverflow.com/questions/26233011/…能不能解决你的问题
  • Qt 提供了QHash,我会用它来代替unordered_map

标签: c++ qt stl include


【解决方案1】:

在专业文件中添加config +=c++11

您可以参考this

【讨论】:

    【解决方案2】:

    std::unordered_map 模板类是在 C++11 中添加的,因此您可能没有使用 C++11 支持进行编译。考虑到<algorithm><utility><iostream><sstream> 工作得很好(它们都存在于 C++11 之前),这一点尤其正确。

    编译时只需添加-std=c++11 标志。

    【讨论】:

    • 是的,你是对的。谢谢!
    猜你喜欢
    • 2021-09-22
    • 2019-02-16
    • 2014-04-14
    • 1970-01-01
    • 2011-12-28
    • 2021-06-22
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多