错误"Cannot open include file",但它不包含在代码中
error "Cannot open include file", but it's not included in code
在Visual Studio 2012中安装十一月CTP后,我收到了错误。错误在boost库的unordered_set.hpp
中。但我没有在代码中的任何地方包含unordered_set
或initializer_list
。我只在一个文件中使用了boost,我确信这不是原因。
unrdered_set.hp:中的错误
#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:boostunorderedunordered_set.hpp
#endif
编辑:
之后我卸载了十一月的CTP,但仍然得到了同样的错误。
C++11
在VS2012中默认启用。来自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
CCD_ 8可以在CCD_。
然而,看起来您没有现代的Visual C++标头,这很奇怪,因为您有VS2012(实际上initializer_list
标头将在VS2010中添加)。
今天也遇到了同样的问题,我发现安装十一月的CTP是不够的,你需要将项目配置下的平台工具集更改为Microsoft Visual C++ Compiler Nov 2012 CTP (v120_CTP_Nov2012)
才能真正使用新功能,希望这对任何人都有帮助。
相关文章:
- 编译包含字符串的代码时遇到问题
- 在混合代码库中将C转换为C++时出现许多包含错误
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 如何将外部代码包含在虚幻引擎4 C++项目中
- 如果代码包含多个复杂度循环,如何计算复杂度
- 如何使用 cmake 在代码中包含、构建和调试共享库 (.so)?
- 在 C++ 对象包装器中安全地包含 C 代码
- 为什么我的代码包含错误分段错误(核心转储)?
- 删除外部包含代码库中的删除
- 当我无法包含代码所需的头文件时,如何链接 shrared 库?
- 仅在满足静态constexpr时才包含代码
- 在C++中包含 C 代码
- 在Cocoa/Objective-C项目中包含C++代码时'class'未知类型名称
- 如何创建一个仅包含 C 代码包装C++代码的 .so 文件 - 与 OpenCV 相关
- 为什么在 gcov 中声明"不包含代码"的行
- #include 并没有真正包含代码C++
- 在一个c++项目中(文件大多是.cpp),如果一个文件只包含c代码,它应该被命名为.c还是.cpp ?
- 使用#include来包含代码段
- 如何编译包含C++代码的C代码
- 在Eclipse/StatET中编写一个包含c++代码的R包