在Visual Studio 2012中安装November CTP后出现错误。
错误发生在boost库的unordered_set.hpp
中。但我没有在代码中的任何位置添加unordered_set
或initializer_list
。我只在一个文件中使用了boost,我确信这不是原因。
错误:
#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
#include <initializer_list> //error C1083: Cannot open include file: 'initializer_list': No such file or directory d:\boost\unordered\unordered_set.hpp
#endif
编辑:
之后我卸载了11月份的CTP,但仍然遇到了同样的错误。
答案 0 :(得分:1)
C++11
。
来自boost
标题
#if !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
#include <initializer_list>
#endif
您可以尝试定义BOOST_NO_0X_HDR_INITIALIZER_LIST
,或找到initializer_list
标题位置。
// config/suffix.hpp
#if defined(BOOST_NO_INITIALIZER_LISTS) && !defined(BOOST_NO_0X_HDR_INITIALIZER_LIST)
# define BOOST_NO_0X_HDR_INITIALIZER_LIST
#endif
// config/compilers/visualc.hpp
#if _MSC_VER <= 1500 || !defined(BOOST_STRICT_CONFIG) // 1500 == VC++ 9.0
# define BOOST_NO_INITIALIZER_LISTS
#endif
BOOST_STRICT_CONFIG
可能会在config/user.hpp
中发表评论。
但是,看起来你没有现代的Visual C ++标题,这很奇怪,因为你有VS2012(实际上会在VS2010中添加initializer_list
标题)。
答案 1 :(得分:0)
今天有同样的问题,我发现安装11月CTP是不够的,你需要将项目配置下的平台工具集更改为Microsoft Visual C++ Compiler Nov 2012 CTP (v120_CTP_Nov2012)
以实际使用新功能,希望这对任何人都有帮助。