【发布时间】:2014-11-26 01:05:38
【问题描述】:
我正在使用 NDK 和 V8 在 Android 上构建应用程序。对于 shared_ptr 等功能,我更愿意使用 C++11 和 GNU STL;但是,V8 构建系统似乎被硬编码为使用 stlport_static 作为其 STL 变体。
即使patching the build system to generate a fully self-contained library,V8 的构建也不会静态地将 STLport 链接到它的 .a 文件中(这是意料之中的),因此我从 libv8_base.a 等中的未解析符号中得到数百个链接器错误。当我使用不同的 STL 变体时,我也看不到任何方法可以向 ndk-build 表明它应该链接到 stlport_static。
在使用gnustl_static 时链接stlport_static 是否有合理的模式,或者更好的是,有没有办法针对gnustl_static 构建Android V8?
【问题讨论】:
-
您的本机代码是直接与
libjv8.so对话,还是与它的静态库对话?还是你的 Java 加载了两个独立的共享库? -
我的本机代码与
libv8_base.a对话,libv8_base.a依赖于stlport_static库。我可以自己使用stlport_static,但我真的想要shared_ptr并在我的容器中正确移动语义......无论如何,我不是在构建v8的.so,因为那样不会'似乎甚至不是一种选择。 -
现在在 AOSP 错误跟踪器中打开:Issue 216331: STLport does not support C++11。
标签: android c++ c++11 android-ndk v8