Android 本机活动:找不到符号“_ZSt11“Uhash”bytesPKvjj“;

Android 本机活动:找不到符号“_ZSt11“Uhash”bytesPKvjj“;,android,c++,c++11,native-activity,Android,C++,C++11,Native Activity,我正在尝试使用C++11和OpenGL ES为Android使用NativeActivity编译一个应用程序。我正在使用 APP_STL := gnustl_shared 一切都很好。但当运行我的应用程序时,我得到: dlopen(libjngl-test.so): Cannot load library: soinfo_relocate(linker.cpp:976): cannot locate symbol "_ZSt11_Hash_bytesPKvjj" referenced by "

我正在尝试使用C++11和OpenGL ES为Android使用NativeActivity编译一个应用程序。我正在使用

APP_STL := gnustl_shared
一切都很好。但当运行我的应用程序时,我得到:

dlopen(libjngl-test.so): Cannot load library: soinfo_relocate(linker.cpp:976): cannot locate symbol "_ZSt11_Hash_bytesPKvjj" referenced by "libjngl-test.so"...
jngl测试是我的活动。我的加载代码是这样的:

#包括
#包括
#包括
#包括
#包括
void*load_lib(const std::string&l){
自动句柄=dlopen(std::string(“/data/data/com.bixense.jngl\u test/lib/”+l).c\u str(),
RTLD_NOW(RTLD_GLOBAL);
如果(!句柄){
抛出std::runtime_错误(std::string(“dlopen”()+l+”):“+dlerror());
}
__android_日志_打印(android_日志_信息,“引导”,“加载的%s”,l.c_str());
返回手柄;
}
void ANativeActivity\u onCreate(ANativeActivity*app,void*ud,size\u t udsize){
试一试{
加载库(“libogg.so”);
加载库(“libvorbis.so”);
自动主=重新解释(
dlsym(load_lib(“libjngl test.so”),“ANativeActivity_onCreate”)
);
如果(!main){
抛出std::runtime_错误(“未定义的符号ANativeActivity_onCreate”);
}
主(应用程序、ud、udsize);
}捕获(标准::异常&e){
__android_log_print(android_log_错误,“引导程序”,“%s”,e.what());
完成活动(app);
}
}

有人知道我做错了什么吗?_ZSt11_Hash_bytesPKvjj从何而来?

翻译自
c++filt
std:_Hash_字节(void const*,unsigned int,unsigned int)
。libstdc++的一部分?谢谢我想知道为什么它找不到那个符号。你在你的makefile中链接了哪些库?下面是:Logandroid EGL GLESv1_CM freetype png z ogg vorbis openal和我自己的静态库jngl。