为什么Visual Studio找不到'tr1/unordered_map?

问题描述:

我想在项目中使用google-ctemplate。但是,如果我有基本的文件,我得到以下错误(使用Visual Studio C++ 2005):为什么Visual Studio找不到'tr1/unordered_map?

Error 1 fatal error C1083: Cannot open include file: 'tr1/unordered_map': No such file or directory f:\entwicklung\libraries\ctemplate-0.99\src\ctemplate\template_cache.h 39 

我能找到在升压目录unordered_map.hpp和升压目录被设置在包括在Visual Studio中的路径。我怎么解决这个问题?

我发现问题是什么。我从google-ctemplate包含了错误的目录。而不是src我必须使用src/windows

但这会触发另一个问题,这次是从链接器。

由于是,你可以使用:

#include <boost/tr1/unordered_map.hpp> 

或者,您$(升压目录)/升压/ TR1/TR1到包括路径和使用:

#include <unordered_map> 

见本Header Include Style了解更多详情。

注:我假设$(boost-directory)被设置为类似于“C:\ boost_1_46_0”。

考虑到TR1直到2005年夏天才发布,我不会感到惊讶的是它没有出现在VS 2005中。您可能会尝试更新的编译器版本!