c – 为什么有些包含文件只驻留在tr1中?

前端之家收集整理的这篇文章主要介绍了c – 为什么有些包含文件只驻留在tr1中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我尝试包含像< unordered_map>这样的内容时它失败并说该文件不存在,而当我尝试包含< tr1 / unordered_map>有用.然而,找到了在c 03中也存在的包含文件,并且是c 11(类似于< vector>具有移动构造函数).此外,通常也可以找到仅在c 11而不在tr1中的标题,例如< thread>.
它就像tr1中的所有内容一样被抛入tr1文件夹,其他所有内容都包含在内.
为什么会这样?没有修改文件有没有修复?
传递-I / path /到/ include / tr1将不起作用,因为所有内容都在tr1命名空间中.
我正在使用的编译器是
Apple clang version 3.0 (tags/Apple/clang-211.10.1) (based on LLVM 3.0svn)

解决方法

TR1(技术报告1)不是标准,而只是报告.这是让人们知道委员会对这个领域感兴趣的官方方式.任何tr1实现都是一个实验性版本,旨在获得现场反馈,以便改进未来的标准.

使用Apple的Xcode 4.2,您可以通过搜索“libc”的构建设置选择一个几乎完整的C 11库,然后选择“libc”作为C标准库(它不是默认值).

或者如果您更喜欢命令行,则可以使用-stdlib = libc.

libc不包含任何tr1组件,但包含除< atomic>之外的所有C 11.

猜你在找的C&C++相关文章