OpenCV 4.X for Android built with cmake on Linux

Hi,

I need help building .so files and header files for:

  • arm64-v8a
  • armeabi-v7a
  • x86
  • x86_64

I am interested in any 4.X version which works.

I tried with 4.0.1, 4.5.3, 4.5.2 releases from Git.

    cmake \
        -D CMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME_21}/build/cmake/android.toolchain.cmake \
        -D OPENCV_EXTRA_MODULES_PATH=$SOURCE/opencv/opencv_contrib/modules/ \
        -D BUILD_SHARED_LIBS=ON \
        -D BUILD_TESTS=OFF \
        -D BUILD_PERF_TESTS=OFF \
        -D ANDROID_STL=c++_static \
        -D BUILD_ANDROID_EXAMPLES=OFF \
        -D BUILD_ANDROID_PROJECTS=OFF \
        -D BUILD_JAVA=OFF \
        -D WITH_QT=OFF \
        -D ANDROID_ABI=$ARCH \
        -D ANDROID_NATIVE_API_LEVEL=$ANDROID_VERSION \
        -D CMAKE_BUILD_TYPE=Release \
        -D 3P_LIBRARY_OUTPUT_PATH=$ROOT/output/$OUTARCH/lib/ \
        -D CMAKE_INSTALL_PREFIX:PATH=$ROOT/output/$OUTARCH/lib/ \
        ..

I always get an error that -- Configuring incomplete, errors occurred!

Some of the errors from CMakeError.log:

cpp:21:25: error: use of undeclared identifier 'vcvt_f16_f32'
    float16x4_t v_dst = vcvt_f16_f32(v_src);

CheckIncludeFile.c:1:10: fatal error: 'io.h' file not found

Can somebody please give me some directions?