CLion无法解析类型std :: unordered_map,即使它提示我包含标题和编译工作

问题描述 投票:0回答:2

出于某种原因,我的CLion无法识别std::unordered_map,尽管它实际上建议我在我第一次写出类型定义时包含Alt+Enter的标题。在我包含#include <unordered_map>的标题后,编译也可以。

我甚至可以按住Ctrl +单击include行来查找头文件,但我无法点击类型定义行(保持红色)。我不明白为什么IDE一直拒绝识别代码中的类型。

实际上,它建议我加入bits/unordered_map.h。我可以在unodered_map.h/usr/include/c++/7.3.1/unordered_map找到/usr/include/c++/7.3.1/bits/unordered_map.h。我不确定这两者之间有什么区别。包括其中之一或两者都不能解决问题。

我已经在我的-std=c++11中添加了CMAKE_CXX_FLAGSCMakeLists.txt

CLion 2018.1,gcc 7.3.1,Arch Linux。

c++ c++11 cmake header-files clion
2个回答
3
投票

坏消息:这是CLion issue

好消息:它是固定的。请尝试使用CLion 2018.1.1 EAP。这个问题应该在其中修复。

这是相关的problem


0
投票

我不知道CLion但是在Eclipse Luna中使用TDM-GCC作为编译器这些错误通常是因为项目没有构建而引起的。还要验证unordered_map确实位于项目的/ include文件夹中。您还可以包含更高的标准标志,例如-std = c ++ 14。

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.