是否可以通过NDK与Gnu STL一起使用RenderScript?

时间:2014-03-20 23:32:47

标签: android-ndk renderscript

我正在尝试将RenderScript集成到我公司的C ++应用程序中。但是,在尝试包含libRScpp_static.a

时出错
external/stlport/stlport/stl/_alloc.h:158: error: undefined reference to 'std::__node_alloc::_M_allocate(unsigned int&)'
external/stlport/stlport/stl/_alloc.h:161: error: undefined reference to 'std::__node_alloc::_M_deallocate(void*, unsigned int)'
external/stlport/stlport/stl/_string.c:600: error: undefined reference to 'std::__stl_throw_length_error(char const*)'
external/stlport/stlport/stl/_vector.c:41: error: undefined reference to 'std::__stl_throw_length_error(char const*)'
external/stlport/stlport/stl/_alloc.h:158: error: undefined reference to 'std::__node_alloc::_M_allocate(unsigned int&)'
external/stlport/stlport/stl/_string.c:600: error: undefined reference to 'std::__stl_throw_length_error(char const*)'

由于我们的应用程序在libRScpp_static.a时使用Gnu STL compiled against STLport, 我认为这是因为这些STL实现之间的二进制不兼容。

如何将RenderScript与Gnu STL一起使用?

NB:切换到STLport是不可能的。

更新:链接动态库(libRScpp.so)似乎可以解决问题。我不确定为什么,如果可能,我们宁愿静态链接。

更新: libRScpp.so已在NDK r9d中删除。我已经尝试编译自己的共享库,它与STLport静态链接,并且不显示STL / RenderScript符号。

0 个答案:

没有答案