2015-08-29 52 views
2

我需要在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'找不到。任何建議?unordered_map找不到

+2

您是否啓用了C++ 11(或更高版本)?如果項目設置中沒有複選框,請手動添加標誌「-std = C++ 11」。 –

+0

看看如果https://stackoverflow.com/questions/26233011/what-c​​ould-cause-clang-to-not-find-the-unordered-map-header可以解決你的問題 – gengisdave

+0

Qt提供了[QHash](http:///doc.qt.io/qt-5/qhash.html#details),我會用它來代替'unordered_map'。 –

回答

1

親文件

添加config +=c++11你可以參考this

+0

它的工作原理。謝謝! – iik

1

std::unordered_map模板類是在C++ 11中添加的,因此您可能沒有使用C++ 11支持進行編譯。考慮到<algorithm>,<utility>,<iostream><sstream>工作得很好(這在C++ 11之前都已經存在),這一點尤其如此。

只需在編譯時添加-std=c++11標誌即可。

+0

是的,你是對的。謝謝! – iik