我必须使用 unordered_map
和 trie
,但不是一个标准库,也不是另一个包含它们的标准库。
// works only with LLVM library
#include <unordered_map>
// works only with GNU library
#include <ext/pb_ds/assoc_container.hpp>
我的意思是在 GCC GNU website 上有描述.
该程序是在 Xcode 7.2.1 中构建的。我曾尝试使用 GNU C++14、GNU C++11 和 C++14、C++11,但没有帮助。
如何解决这个问题?可能是我的 GNU 库太旧了,我可以在 Xcode 中更新它吗?或者,也许 LLVM 有 assoc_container.hpp
是其他路径?
最佳答案
std::unordered_map
与 C++11 标准一起出现,并非所有编译器都使用 C++11(或更高版本)作为标准,但这意味着您必须在构建时添加标志才能使用它。
当使用 5.1 之前的 GCC 版本构建时,您应该添加标志 -std=c++11
(或者如果需要,可以选择添加 -std=gnu++11
GCC 扩展,或者 -std=c++0x
如果你有一个非常旧的 GCC 版本)。
关于c++ - LLVM C++ 和 GNU C++ 的标准库具有不同的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36912806/