Error scenario: When using NCNN to deploy Yolov7 to the client, an error occurs.
1. Error description
cmd.exe /C "cd . && D:\Software\Android\SDK\ndk\21.4.7075529\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi24 --gcc-toolchain=D:/Software/Android/SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=D:/Software/Android/SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--fatal-warnings -Wl,--exclude-libs,libunwind.a -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libncnnyolov7.so -o D:\Workfile\ModelDeploy\NCNN\ncnn-android-yolov7-master\app\build\intermediates\cmake\debug\obj\armeabi-v7a\libncnnyolov7.so CMakeFiles/ncnnyolov7.dir/yoloncnn.cpp.o CMakeFiles/ncnnyolov7.dir/yolo.cpp.o CMakeFiles/ncnnyolov7.dir/ndkcamera.cpp.o D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/ncnn-20231027-android-vulkan/armeabi-v7a/lib/libncnn.a D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/opencv-mobile-4.8.1-android/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/opencv-mobile-4.8.1-android/sdk/native/staticlibs/armeabi-v7a/libopencv_imgproc.a -lcamera2ndk -lmediandk -Wl,-wrap,__kmp_affinity_determine_capable D:/Software/Android/SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/arm-linux-androideabi/24/libvulkan.so D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/ncnn-20231027-android-vulkan/armeabi-v7a/lib/libglslang.a D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/ncnn-20231027-android-vulkan/armeabi-v7a/lib/libSPIRV.a D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/ncnn-20231027-android-vulkan/armeabi-v7a/lib/libMachineIndependent.a D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/ncnn-20231027-android-vulkan/armeabi-v7a/lib/libOGLCompiler.a D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/ncnn-20231027-android-vulkan/armeabi-v7a/lib/libOSDependent.a D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/ncnn-20231027-android-vulkan/armeabi-v7a/lib/libGenericCodeGen.a -landroid -ljnigraphics D:/Workfile/ModelDeploy/NCNN/ncnn-android-yolov7-master/app/src/main/jni/opencv-mobile-4.8.1-android/sdk/native/staticlibs/armeabi-v7a/libopencv_core.a -fopenmp -static-openmp -ldl -lm -llog -latomic -lm && cd ."
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
2. Solution: Update NDK
The NDK version is too low. Update NDK from 21 to 25, click 26, and then apply.
Remember to update the ndkde path in the local.properties file
Another point, when downloading version 26, there is only one file llvm in the toolchains folder. Remember to copy these five files from other versions.
3. Click the deploy button again
That’s it!!!