解決BUG:vdotq_lane_s32‘ is invalid in C99
阿新 • • 發佈:2021-03-23
解決BUG:vdotq_lane_s32' is invalid in C99
環境 Ubuntu20.04 ndk 18b
git clone xxx.git
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=/home/chendongmin/project/ndk/android-ndk-r18b/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a ../
cmake --build . -j
報錯如下:
[ 10%] Building C object _deps/xnnpack-build/CMakeFiles/XNNPACK.dir/src/qs8-igemm/gen/6x8c4-minmax-neondot.c.o
/home/xx/project/tensorflow_lite_cmake/dtln_aec_android_build/xnnpack/src/qs8-gemm/gen/1x16c4-minmax-neondot.c:64:20: warning: implicit declaration of function
'vdotq_lane_s32' is invalid in C99 [-Wimplicit-function-declaration]
vacc0x0123 = vdotq_lane_s32(vacc0x0123, vb0123x0123, va0x01234567, 0);
^
/home/xx/project/tensorflow_lite_cmake/dtln_aec_android_build/xnnpack/src/qs8-gemm/gen/1x16c4-minmax-neondot.c:64:18: error: assigning to 'int32x4_t'
(vector of 4 'int32_t' values) from incompatible type 'int'
vacc0x0123 = vdotq_lane_s32(vacc0x0123, vb0123x0123, va0x01234567, 0);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/xx/project/tensorflow_lite_cmake/dtln_aec_android_build/xnnpack/src/qs8-gemm/gen/1x16c4-minmax-neondot.c:65:18: error: assigning to 'int32x4_t'
(vector of 4 'int32_t' values) from incompatible type 'int'
vacc0x4567 = vdotq_lane_s32(vacc0x4567, vb0123x4567, va0x01234567, 0);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
解決方法:
使用更高版本的ndk