我正在为 Android 开发一个包含 Java 和 Native 组件的库。Native 库依赖于 GNU STL。我正在链接gnustl_static
,但遇到了一些通过链接解决的奇怪问题gnustl_shared
。(例如问题Filesystem and locale)。暂时,我已经确定了gnustl_shared
。
这就是问题所在——我的库的使用者应该链接到 Native .so 以添加他们自己的代码。我从阅读中了解到所有 C 运行时都必须匹配。
- 要求我的客户使用
gnustl_shared
似乎可能行不通(就外交和易于整合而言) - 如果我使用 构建
gnustl_shared
,生成的 JAR 文件包含libgnustl_shared.so
,这会导致构建也依赖于该库的 APK 的问题。-- 我想我不能将它包含在 JAR 文件中? - 如果我反对
gnustl_static
,我会避免所有这些问题吗? - 如果我的 API 包含对 STL 对象的引用(主要是
std::string
和std::vector
),如果我的客户不使用 GNU STL,我会遇到问题吗?
谢谢