Issue
We have a prebuild library that was build with android ndk r10e. The Project we are working on is being build with ndk r13b. When trying to link the library our build fails with undefined reference errors for all functions of the library containing ndk stl provided classes such as strings. The error:
Foo.cpp:39: undefined reference to `namespaceFoo::Bar::fooBar(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)'
we fixed this issue with another library by just building it with ndk 13 as well. Unfortunately for one of the necessary libraries it is out of our control.
We link the c++_shared lib as stl.
Is there a way to make this work? Can we somehow correctly link the library build with ndk r10?
EDIT: Making clear that we use the c++_shared stl. This seems to be the underlaying issue.
Solution
I know it has been ages since I asked this.
It turns out google has been doing a lot of work on the c++_shared lib and the NDK itself resulting in these incompatibilities. We never ran into anything this critical with later NDK's again.
TL/DR: Yes they where incompatible.
Answered By - Arne Fischer
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.