使用stlport在Android上实现boost

使用stlport在Android上实现boost,android,boost,android-ndk,libjingle,android-stlport,Android,Boost,Android Ndk,Libjingle,Android Stlport,在我的Android应用程序中,我需要同时构建websocketpp()和LibKingle(),然后遇到以下问题: websocketpp正在使用boost库(www.boost.org),我可以很好地使用它: APP_STL := gnustl_static 但是当我链接libjinge库时,使用此设置,我得到了错误: undefined reference to 'std::__node_alloc::_M_deallocate(void*, unsigned int)'

在我的Android应用程序中,我需要同时构建websocketpp()和LibKingle(),然后遇到以下问题:

websocketpp正在使用boost库(www.boost.org),我可以很好地使用它:

APP_STL         := gnustl_static
但是当我链接libjinge库时,使用此设置,我得到了错误:

undefined reference to 'std::__node_alloc::_M_deallocate(void*, unsigned int)'
如果我更改为在Application.mk中使用stlport:

APP_STL         := stlport_static
然后我在编译websocketpp时出错:

fatal error: array: No such file or directory
websocketpp包含我只能在此处找到的数组:

sources/cxx-stl/gnu-libstdc++/4.8/include/array
我不能同时链接stlport和gnustl库,因为我在抱怨重复定义时出错

那么,对于同时使用tlport和gnustl的项目,如何解决这个问题呢

[更新]

在项目中使用stlport和gnustl是绝对不可能的,所以我必须选择一个。WebRTC使用stlport,gnustl在GPL下,因此stlport应该是更好的选择

我能够通过对文件“boost/tools/build/v2/user config.jam”的一些更改来构建boost库(websocketpp使用):

-I$(AndroidNDKRoot)/sources/cxx-stl/stlport/stlport
使用stlport:android:$(AndroidNDKRoot)/sources/cxx stl/stlport/stlport;
并使用stdlib=stlportandroid选项运行bjam

编译和链接是成功的。但是,当我运行我的应用程序时,它在执行boost库中的某些代码时崩溃


有谁有幸使用stlport在Android上构建和运行boost库吗?

您好,您有没有找到解决方案?我有一个类似的问题(尽管我比你先一步:我不知道如何为Android构建boost…)
<compileflags>-I$(AndroidNDKRoot)/sources/cxx-stl/stlport/stlport
using stlport : android : $(AndroidNDKRoot)/sources/cxx-stl/stlport/stlport ;