如何打开STL向后兼容性?

时间:2010-10-27 03:39:25

标签: c++ linux stl

我正在尝试编译使用Google的sparsehash包含文件的内容。

libs/include/google/dense_hash_map:93:60: error: ext/hash_fun.h: No such file or directory
^Cmake: *** [all] Interrupt

我知道hash_fun.h存在于/usr/include/c++/4.3/backward/hash_fun.h中。 我只是不确定如何使谷歌稀疏哈希使用它。任何的想法?我真的想避免篡改谷歌文件或/ usr / include文件。我已经使用-Wno-deprecated来删除有关使用旧STL包含文件的错误,但我很确定在使用较新版本的STL时,有一种方法可以识别#include。

1 个答案:

答案 0 :(得分:1)

编译sparsehash时,是否使用现在使用的相同编译器构建它?当我构建它时,它会在tr1/functional中找到hash_fun,而不是ext/hash_fun.h

m4/stl_hash_fun.m4中,您可以看到它搜索的地点列表。