我正在尝试构建一个使用 boost 序列化的 Android 应用程序。我已经使用 arm 4.7 的 g++ 构建了针对 NDK r8d 的库。但是,当我使用 ndk-build 将本机代码编译到库中时,当编译器尝试在 boost 中链接存档标头中的一些代码时,我得到“未定义的对 'mbtowc' 的引用”和“未定义的对 'wctomb' 的引用” .
关于 NDK 是否支持这些功能,我似乎无法得到明确的答案。
根据 Boost 邮件列表,虽然它实现了这些功能,但 CrystaX NDK 不是一个选项,因为它已知在与 Boost 一起使用时会崩溃。
那么,如果 NDK 确实以某种方式实现了这些功能,为什么 NDK-build 无法链接它们呢?我可以在 NDK 的 cstdlib 中找到对它们的引用,并且我相信可能需要设置一个标志,但我不确定如何或在哪里设置。
如果没有实现它们,是否有人对我如何自己编写它们有任何建议?我大致知道 mbtowc 及其补充应该做什么,但没有太多编写低级 C 的经验,也没有太多的 Android / ARM 架构知识,我真的可以使用一些建议。