llvm libc++ 中缺少哈希表 class
Hashtable class is missing in llvm libc++
我正在将我的 Android 项目中的标准库从 gnustl (libstdc++) 迁移到 llvm-libc++。
在其中一个项目中,我收到多个错误 header 文件
fatal error: 'hashtable.h' file not found
#include "hashtable.h"
^~~~~~~~~~~~~
clang++.exe: error: clang frontend command failed due to signal (use -v to see invocation)
Android clang version 5.0.300080 (based on LLVM 5.0.300080)
预处理文件输出显示该文件由 gnustl 提供
.. f:/nugetcache/androidndk.16.1.1/sources/cxx-stl/gnu-libstdc++/4.9/include/backward\hashtable.h
但是在我迁移到 libc++ 之后,我在 libc++ 中找不到等效的 header。此 header 文件声明 class HashTable
template<class _Val, class _Key, class _HashFcn,
class _ExtractKey, class _EqualKey, class _Alloc>
class hashtable
{...}
我尝试在 libc++ 代码中搜索此 header 和此 class 但找不到任何内容。我认为这是一个重要的 class,必须由 libc++ 以某种形式提供,但我无法识别它。
有没有人因为这种差异而遇到错误,建议是什么 work-around?
I tried searching for this header and this class in libc++ code but could not find anything. I think this is an important class and must be provided by libc++ in some form but I could not identify it.
这是一个 libstdc++ 扩展,从 pre-C++11 天遗留下来的。
如果你看一下内容here,你会看到它在顶部有一个注释说:这是一个内部头文件,包含在其他库头文件中.不要尝试直接使用它。
libc++ 不包含那个 header 文件并且包含针对不同 类 映射的更具体的接口。
因此@marshall 指出这一点是正确的,他说我们根本不需要 header。
我正在将我的 Android 项目中的标准库从 gnustl (libstdc++) 迁移到 llvm-libc++。 在其中一个项目中,我收到多个错误 header 文件
fatal error: 'hashtable.h' file not found
#include "hashtable.h"
^~~~~~~~~~~~~
clang++.exe: error: clang frontend command failed due to signal (use -v to see invocation)
Android clang version 5.0.300080 (based on LLVM 5.0.300080)
预处理文件输出显示该文件由 gnustl 提供
.. f:/nugetcache/androidndk.16.1.1/sources/cxx-stl/gnu-libstdc++/4.9/include/backward\hashtable.h
但是在我迁移到 libc++ 之后,我在 libc++ 中找不到等效的 header。此 header 文件声明 class HashTable
template<class _Val, class _Key, class _HashFcn,
class _ExtractKey, class _EqualKey, class _Alloc>
class hashtable
{...}
我尝试在 libc++ 代码中搜索此 header 和此 class 但找不到任何内容。我认为这是一个重要的 class,必须由 libc++ 以某种形式提供,但我无法识别它。
有没有人因为这种差异而遇到错误,建议是什么 work-around?
I tried searching for this header and this class in libc++ code but could not find anything. I think this is an important class and must be provided by libc++ in some form but I could not identify it.
这是一个 libstdc++ 扩展,从 pre-C++11 天遗留下来的。
如果你看一下内容here,你会看到它在顶部有一个注释说:这是一个内部头文件,包含在其他库头文件中.不要尝试直接使用它。
libc++ 不包含那个 header 文件并且包含针对不同 类 映射的更具体的接口。
因此@marshall 指出这一点是正确的,他说我们根本不需要 header。