1. 程式人生 > 其它 >解決BUG:vdotq_lane_s32‘ is invalid in C99

解決BUG:vdotq_lane_s32‘ is invalid in C99

解決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
在這裡插入圖片描述