0

我使用 Crystax NDK,我有 2 个生成静态库 (libA.a) 和共享库 (libB.so) 的文件。模块 B 依赖于模块 A(由 B 的 make 文件中的 LOCAL_STATIC_LIBRARIES 反映)。
在模块 A 的代码中,我调用了 swscanf,它总是返回 -1。

我发现这个问题的解决方法很奇怪:如果我在模块 B 的代码中的某处添加对 swscanf 的调用,那么 swscanf 开始在任何地方都可以正常工作 - 在模块 B 和模块 A 中(即使我没有更改模块 A 的代码)。

我最好的猜测是链接的问题:如果我在顶级共享库中没有宽字符函数调用,那么链接器使用默认的 Google NDK 的函数实现。

请指教。

4

0 回答 0