不同的编译器似乎对TR1有不同的想法。G++似乎只接受以下类型的包含:
#include <tr1/unordered_map>
#include <tr1/memory>
...而Microsofts编译器只接受:
#include <unordered_map>
#include <memory>
...就我对TR1的理解而言,微软的方式是正确的。
有没有办法让G++接受第二个版本?一般情况下,如何以可移植的方式处理TR1?
发布于 2009-08-04 17:35:36
在您的计算机上安装boost。
将以下目录添加到搜索路径中。
/boost/tr1/tr1
有关详细信息,请参阅此处boost tr1
现在,当您包含时,您将获得具有std::tr1::shared_ptr的tr1版本的内存,然后它将包含的特定于平台的版本,以获取所有常规功能。
https://stackoverflow.com/questions/1228402
复制相似问题