我正在尝试在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语句不正确,还是我遗漏了一些明显的东西?
感谢您的帮助。
答案 0 :(得分:5)
对于boost
,编译器可能找不到库,因为boost
不在搜索路径中。
对于std
,您必须使用-std=c++11
,因为unordered_map
是C ++ 11的一项功能。
答案 1 :(得分:0)
"-IC:\\PATH_TO_INCLUDE_FOLDER\\include"