我尝试在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的问题:
#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语句不正确,还是我遗漏了什么明显的东西?
谢谢你的帮助。
发布于 2014-01-03 05:38:43
对于boost,编译器很可能找不到库,因为boost不在搜索路径中。
对于std,你必须使用-std=c++11,因为unordered_map是一个C++11特性。
发布于 2014-01-03 05:40:51
像编译器这样的Seens找不到您的include目录。您还需要这样的代码:"-IC:\\PATH_TO_INCLUDE_FOLDER\\include"
https://stackoverflow.com/questions/20892358
复制相似问题