首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误#include <unordered_map>

错误#include <unordered_map>
EN

Stack Overflow用户
提问于 2014-01-03 05:36:04
回答 2查看 5K关注 0票数 1

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

当我第一次收到这个错误时,我正在使用MacOSX10.8.5,我想知道我的编译器是否没有达到最新的C++标准。我已经升级到Mavericks 10.9.1,并且更新了命令行工具。

我还安装了Boost库。但是,最初的unordered_map似乎不是一个Boost库实现,如果可能的话,我更喜欢使用这个标准。

在没有Boost的情况下尝试正常编译时,我的#include和命令行可以正常工作,除了unordered_map的问题:

代码语言:javascript
复制
#include <unordered_map>

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

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

代码语言:javascript
复制
#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语句不正确,还是我遗漏了什么明显的东西?

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2014-01-03 05:38:43

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

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

票数 6
EN

Stack Overflow用户

发布于 2014-01-03 05:40:51

像编译器这样的Seens找不到您的include目录。您还需要这样的代码:"-IC:\\PATH_TO_INCLUDE_FOLDER\\include"

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20892358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档