c++ - 错误#include'ing <unordered_map>

标签 c++ stl g++

我试图在 C++ 程序中使用 unordered_map,但每次我收到错误:boost/unordered_map.hpp: No such file or directory

当我第一次收到这个错误时,我正在使用 Mac OS X 10.8.5,我想知道我的编译器是否不符合最新的 C++ 标准。我已经升级到 Mavericks 10.9.1,并且更新了命令行工具。

我还安装了 Boost 库。不过,原始的 unordered_map 似乎不是 Boost 库实现,如果可能的话,我更愿意使用标准。

当尝试正常编译时,没有 Boost,我的#include 和命令行工作正常,除了 unordered_map 的问题:

#include <unordered_map>

g++ -g -Wall testGame.cpp ../card2.cpp ../euchreDeck.cpp -I..

尝试使用 Boost 进行编译时,我尝试了两个单独的命令行,但都没有成功:

#include <boost/unordered_map.hpp>

g++ -g -Wall testGame.cpp ../card2.cpp ../euchreDeck.cpp -I.. -Iboost_1_55_0
g++ -g -Wall testGame.cpp ../card2.cpp ../euchreDeck.cpp -I.. -lboost_1_55_0

这是库链接不正确的问题,我的#include 语句不正确,还是我遗漏了一些明显的东西?

感谢您的帮助。

最佳答案

对于boost,编译器很可能找不到库,因为boost 不在搜索路径中。

对于std,您必须使用-std=c++11,因为unordered_map 是C++11 的特性。

关于c++ - 错误#include'ing <unordered_map>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892358/

相关文章:

c++ - 将字符缓冲区传递给 std::string() 后是否需要释放它?

c++ - boost 程序选项 : linking error

null - __null 在 g++ 中定义在哪里?

c++ - 静态库与动态库中的符号解析

c++ - Qt 程序挂起(无响应)直到功能结束然后再次开始工作

c++ - 是什么让我的 C++ ctime 相关函数行为异常?

c++ - STL 容器的抽象包装器?

c++ - map 的查找功能得到错误的结果

c++ - std::map 是一个好的解决方案吗?

c++使用 map 对记事本字符进行排序