Because of other dependencies we need to build openCV with ndk r13b and the stl c++_shared. We build on mac OSX.
First we had to fix a small thing in *android.toolchain.cmake* since apparently some header path did change in the ndk 13.
We changed this:
> set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/android/support/include" "${ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libcxx/include" "${ANDROID_NDK}/sources/cxx-stl/llvm-libc++abi/libcxxabi/include" )
to:
> set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_NDK}/sources/android/support/include" "${ANDROID_NDK}/sources/cxx-stl/llvm-libc++/include" "${ANDROID_NDK}/sources/cxx-stl/llvm-libc++abi/include" )
Removed *libcxxabi* und *libcxx* from path.
We configure the build:
> cmake_android_arm.sh -DANDROID_STL=c++_shared -DBUILD_SHARED_LIBS=YES -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_ZLIB=ON -DANDROID_NATIVE_API_LEVEL=9
We also tried using a newer android version (21) but it results in the similar behaviour. Performing make results in the following error:
> ~/software/Android-NDK/ndk/sources/cxx-stl/llvm-libc++/include/cwctype:68:9: error: '::iswblank' has not been declared
using ::iswblank;
Building with android version 21 results in a similar error somewhat later in the build:
> ~/software/Android-NDK/ndk/sources/cxx-stl/llvm-libc++/include/cmath:313:9: error: '::signbit' has not been declared
using ::signbit;
When searching for the error we found some information that changing the math.h imports to cmath should fix the error. We tried this but had no success in finding a way to make the build work.
What can we do to get the build to work? If more information is needed I am happy to provide it.
EDIT 1: Spelling
↧