Dan*_*ani 7 c++ tr1 clang c++11 libc++
当我尝试包含<unordered_map>它失败的东西并说该文件不存在时,当我尝试包含<tr1/unordered_map>它时,它起作用.但是,也找到了c ++ 03中存在的包含文件,它们是c ++ 11(就像<vector>有移动构造函数一样).此外,通常也可以找到仅在c ++ 11中而不在tr1中的标题<thread>.
就像tr1中的所有内容一样,只是抛入tr1文件夹,其他所有内容都包含在内.
为什么会这样?没有修改源文件有没有修复?
传递-I/path/to/include/tr1不起作用,因为所有内容都在tr1命名空间中.
我正在使用的编译器是
Apple clang version 3.0 (tags/Apple/clang-211.10.1) (based on LLVM 3.0svn)
Run Code Online (Sandbox Code Playgroud)
How*_*ant 11
TR1(技术报告1)不是标准,而只是报告.这是让人们知道委员会对这个领域感兴趣的官方方式.任何tr1实现都是一个实验版本,旨在获得现场反馈,以改善未来的标准.
使用Apple的Xcode 4.2,你可以通过搜索"libc ++"的构建设置选择一个几乎完整的C++ 11库,然后选择"libc ++"作为C++标准库(它不是默认的).
或者如果您更喜欢命令行,则可以使用-stdlib = libc ++.
libc ++不包含任何tr1组件,但包含除C++之外的所有C++ 11 <atomic>.