Code Monkey home page Code Monkey logo

mtcnn_ncnn's People

Contributors

moli232777144 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mtcnn_ncnn's Issues

请教一个问题

嗨,楼主,请问如何测试NCNN在硬件(安卓平台)的性能?有这方面的资料可以推荐么?

检测时间

海思960sample检测时间53ms,正常吗?

文件路径有问题

cd ..
set path=%cd%
%path%\3rdparty\bin\caffe2ncnn.exe %path%\models\det1.prototxt %path%\models\det1.caffemodel %path%\models\det1.param %path%\models\det1.bin
%path%\3rdparty\bin\caffe2ncnn.exe %path%\models\det2.prototxt %path%\models\det2.caffemodel %path%\models\det2.param %path%\models\det2.bin
%path%\3rdparty\bin\caffe2ncnn.exe %path%\models\det3.prototxt %path%\models\det3.caffemodel %path%\models\det3.param %path%\models\det3.bin

mtcnn 的输入能用灰度图吗?

我想提高检测速度,考虑输入灰度图,但是检测不出人脸了!如果要支持灰度图,需要做什么改变?
ncnn::Mat gray_img = ncnn::Mat::from_pixels((const unsigned char*)(ncnn_img.data), ncnn::Mat::PIXEL_BGR2GRAY, width, height);

build出错,编译方式是clang

Error:FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:externalNativeBuildDebug'.

Build command failed.
Error while executing '/home/wuyong/Android/Sdk/cmake/3.6.4111459/bin/cmake' with arguments {--build /media/wuyong/软件与文件/wenjian/examples_ncnn/caffe/mtcnn_ncnn/mtcnn_ncnn/mtcnn_AS/app/.externalNativeBuild/cmake/debug/armeabi-v7a --target mtcnn}
[1/3] Building CXX object CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn.cpp.o
[2/3] Building CXX object CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn_jni.cpp.o
[3/3] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libmtcnn.so
FAILED: : && /home/wuyong/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi --gcc-toolchain=/home/wuyong/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 --sysroot=/home/wuyong/Android/Sdk/ndk-bundle/sysroot -fPIC -isystem /home/wuyong/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=17 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -fopenmp -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math -std=c++11 -frtti -fexceptions -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot /home/wuyong/Android/Sdk/ndk-bundle/platforms/android-17/arch-arm -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--exclude-libs,libunwind.a -L/home/wuyong/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libmtcnn.so -o ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libmtcnn.so CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn.cpp.o CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn_jni.cpp.o ../../../../src/main/jniLibs/armeabi-v7a/libncnn.a -ljnigraphics -lz /home/wuyong/Android/Sdk/ndk-bundle/platforms/android-17/arch-arm/usr/lib/liblog.so -latomic -lm "/home/wuyong/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a" "/home/wuyong/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a" "/home/wuyong/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a" "/home/wuyong/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a" "-ldl" && :
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_blob_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_layer_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Extractor::input(char const*, ncnn::Mat const&): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::layer_registry_entry*, std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry > >, unsigned int, ncnn::layer_registry_entry const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Layer*, std::allocatorncnn::Layer* >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Layer**, std::vector<ncnn::Layer*, std::allocatorncnn::Layer* > >, unsigned int, ncnn::Layer* const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<int, std::allocator >::_M_fill_insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator > >, unsigned int, int const&): error: undefined reference to 'std::__throw_length_error(char const*)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

问题

为什么这里面cd ../3rdparty/src/protobuf/cmake,没有cmake文件

您好,我在cmake ncnn时,缺少cmakelist.txt文件?

cmake .. -G"Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=F:\mtcnn_ncnn\3rdparty\include -DProtobuf_LIBRARIES=F:\mtcnn_ncnn\3rdparty\lib\libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=F:\mtcnn_ncnn\3rdparty\bin\protoc.exe
作者您好,我在这一步中,显示没有CMakeList?确实没有CMakeList,怎么编译啊?

请教不加密的方法

你好,请教一下.
我有几个问题(以下都是android问题):
1.你运行在android里面的.bin和.param这2个文件是caffe2ncnn生成还是ncnn2mem生成的?
2.我是用的ncnn2mem生成的在android的效果和caffe2ncnn出来的效果在ubuntu上的效果是不一样的.ps.我使用的是同一张导入的图片.
3.你的libncnn.a是使用build-android所编译出来的吗?
4.我想跟你一样使用
ex.input("data", in);
ncnn::Mat out;
ex.extract("detection_out", out);
我也有看你发的使用安卓端lib,但直接替换进去,都没效果.
谢谢.

Error build mtcnn_ncnn with vulkan

When I try to replace mtcnn_ncnn with update-to-date ncnn (without vulkan), the project is successful. But when I try to use ncnn_vulkan, the following error appears. Would you please give a solution how this could be solved, that would be very helpful, Thxs!

Build command failed.
Error while executing process /home/liuwenjie/Android/Sdk/cmake/3.10.2.4988404/bin/ninja with arguments {-C /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/.cxx/cmake/debug/arm64-v8a mtcnn}
ninja: Entering directory /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/.cxx/cmake/debug/arm64-v8a' [1/3] Building CXX object CMakeFiles/mtcnn.dir/mtcnn_jni.cpp.o [2/3] Building CXX object CMakeFiles/mtcnn.dir/mtcnn.cpp.o /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/mtcnn.cpp:461:42: warning: format specifies type 'int' but the argument has type 'std::__ndk1::vector<Bbox, std::__ndk1::allocator<Bbox> >::size_type' (aka 'unsigned long') [-Wformat] printf("firstBbox_.size()=%d\n", firstBbox_.size()); ~~ ^~~~~~~~~~~~~~~~~ %lu /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/mtcnn.cpp:464:43: warning: format specifies type 'int' but the argument has type 'std::__ndk1::vector<Bbox, std::__ndk1::allocator<Bbox> >::size_type' (aka 'unsigned long') [-Wformat] printf("secondBbox_.size()=%d\n", secondBbox_.size()); ~~ ^~~~~~~~~~~~~~~~~~ %lu /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/mtcnn.cpp:471:42: warning: format specifies type 'int' but the argument has type 'std::__ndk1::vector<Bbox, std::__ndk1::allocator<Bbox> >::size_type' (aka 'unsigned long') [-Wformat] printf("thirdBbox_.size()=%d\n", thirdBbox_.size()); ~~ ^~~~~~~~~~~~~~~~~ %lu 3 warnings generated. [3/3] Linking CXX shared library /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/build/intermediates/cmake/debug/obj/arm64-v8a/libmtcnn.so FAILED: /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/build/intermediates/cmake/debug/obj/arm64-v8a/libmtcnn.so : && /home/liuwenjie/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android24 --gcc-toolchain=/home/liuwenjie/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64 --sysroot=/home/liuwenjie/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security -frtti -fexceptions -fopenmp -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math -std=c++11 -frtti -fexceptions -O0 -fno-limit-debug-info -fno-experimental-isel -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack -shared -Wl,-soname,libmtcnn.so -o /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/build/intermediates/cmake/debug/obj/arm64-v8a/libmtcnn.so CMakeFiles/mtcnn.dir/mtcnn.cpp.o CMakeFiles/mtcnn.dir/mtcnn_jni.cpp.o /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a -landroid -ljnigraphics -lz /home/liuwenjie/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/24/liblog.so -latomic -lm && : /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::create_gpu_instance()':
gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x40): undefined reference to vkEnumerateInstanceExtensionProperties' gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x88): undefined reference to vkEnumerateInstanceExtensionProperties'
gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x4c4): undefined reference to vkCreateInstance' gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x4e4): undefined reference to vkGetInstanceProcAddr'
gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x50c): undefined reference to vkGetInstanceProcAddr' gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x528): undefined reference to vkGetInstanceProcAddr'
gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x544): undefined reference to vkGetInstanceProcAddr' gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x560): undefined reference to vkGetInstanceProcAddr'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o):gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x57c): more undefined references to vkGetInstanceProcAddr' follow /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::create_gpu_instance()':
gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x6b0): undefined reference to vkEnumeratePhysicalDevices' gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x700): undefined reference to vkEnumeratePhysicalDevices'
gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x754): undefined reference to vkGetPhysicalDeviceProperties' gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x8c8): undefined reference to vkGetPhysicalDeviceQueueFamilyProperties'
gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0x910): undefined reference to vkGetPhysicalDeviceQueueFamilyProperties' gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0xb40): undefined reference to vkGetPhysicalDeviceMemoryProperties'
gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0xb58): undefined reference to vkEnumerateDeviceExtensionProperties' gpu.cpp:(.text._ZN4ncnn19create_gpu_instanceEv+0xba8): undefined reference to vkEnumerateDeviceExtensionProperties'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::destroy_gpu_instance()': gpu.cpp:(.text._ZN4ncnn20destroy_gpu_instanceEv+0x140): undefined reference to vkDestroyInstance'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::VulkanDevice::VulkanDevice(int)': gpu.cpp:(.text._ZN4ncnn12VulkanDeviceC2Ei+0xf48): undefined reference to vkCreateDevice'
gpu.cpp:(.text._ZN4ncnn12VulkanDeviceC2Ei+0x1030): undefined reference to vkGetDeviceQueue' gpu.cpp:(.text._ZN4ncnn12VulkanDeviceC2Ei+0x10f8): undefined reference to vkGetDeviceQueue'
gpu.cpp:(.text._ZN4ncnn12VulkanDeviceC2Ei+0x1190): undefined reference to vkGetDeviceQueue' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::VulkanDevice::init_device_extension()':
gpu.cpp:(.text._ZN4ncnn12VulkanDevice21init_device_extensionEv+0x28): undefined reference to vkGetDeviceProcAddr' gpu.cpp:(.text._ZN4ncnn12VulkanDevice21init_device_extensionEv+0x40): undefined reference to vkGetDeviceProcAddr'
gpu.cpp:(.text._ZN4ncnn12VulkanDevice21init_device_extensionEv+0x60): undefined reference to vkGetDeviceProcAddr' gpu.cpp:(.text._ZN4ncnn12VulkanDevice21init_device_extensionEv+0x78): undefined reference to vkGetDeviceProcAddr'
gpu.cpp:(.text._ZN4ncnn12VulkanDevice21init_device_extensionEv+0x90): undefined reference to vkGetDeviceProcAddr' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o):gpu.cpp:(.text._ZN4ncnn12VulkanDevice21init_device_extensionEv+0xb0): more undefined references to vkGetDeviceProcAddr' follow
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::VulkanDevice::create_shader_module()': gpu.cpp:(.text._ZN4ncnn12VulkanDevice20create_shader_moduleEv+0x1a0): undefined reference to vkCreateShaderModule'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::VulkanDevice::~VulkanDevice()': gpu.cpp:(.text._ZN4ncnn12VulkanDeviceD2Ev+0x98): undefined reference to vkDestroyShaderModule'
gpu.cpp:(.text._ZN4ncnn12VulkanDeviceD2Ev+0xc0): undefined reference to vkDestroyDevice' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::VulkanDevice::destroy_shader_module()':
gpu.cpp:(.text._ZN4ncnn12VulkanDevice21destroy_shader_moduleEv+0x34): undefined reference to vkDestroyShaderModule' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::VulkanDevice::compile_shader_module(unsigned int const*, unsigned long, unsigned int, unsigned int, unsigned int) const':
gpu.cpp:(.text._ZNK4ncnn12VulkanDevice21compile_shader_moduleEPKjmjjj+0x210): undefined reference to vkCreateShaderModule' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(gpu.cpp.o): In function ncnn::VulkanDevice::compile_shader_module(unsigned int const*, unsigned long) const':
gpu.cpp:(.text._ZNK4ncnn12VulkanDevice21compile_shader_moduleEPKjm+0x40): undefined reference to vkCreateShaderModule' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkAllocator::flush(ncnn::VkBufferMemory*)':
allocator.cpp:(.text._ZN4ncnn11VkAllocator5flushEPNS_14VkBufferMemoryE+0x8c): undefined reference to vkFlushMappedMemoryRanges' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkAllocator::invalidate(ncnn::VkBufferMemory*)':
allocator.cpp:(.text._ZN4ncnn11VkAllocator10invalidateEPNS_14VkBufferMemoryE+0x8c): undefined reference to vkInvalidateMappedMemoryRanges' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkAllocator::create_buffer(unsigned long, unsigned int)':
allocator.cpp:(.text._ZN4ncnn11VkAllocator13create_bufferEmj+0x54): undefined reference to vkCreateBuffer' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkAllocator::allocate_memory(unsigned long)':
allocator.cpp:(.text._ZN4ncnn11VkAllocator15allocate_memoryEm+0x48): undefined reference to vkAllocateMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkAllocator::allocate_dedicated_memory(unsigned long, VkBuffer_T*)':
allocator.cpp:(.text._ZN4ncnn11VkAllocator25allocate_dedicated_memoryEmP10VkBuffer_T+0x60): undefined reference to vkAllocateMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkBlobBufferAllocator::clear()':
allocator.cpp:(.text._ZN4ncnn21VkBlobBufferAllocator5clearEv+0x40): undefined reference to vkUnmapMemory' allocator.cpp:(.text._ZN4ncnn21VkBlobBufferAllocator5clearEv+0x54): undefined reference to vkDestroyBuffer'
allocator.cpp:(.text._ZN4ncnn21VkBlobBufferAllocator5clearEv+0x68): undefined reference to vkFreeMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkBlobBufferAllocator::fastMalloc(unsigned long)':
allocator.cpp:(.text._ZN4ncnn21VkBlobBufferAllocator10fastMallocEm+0x188): undefined reference to vkCreateBuffer' allocator.cpp:(.text._ZN4ncnn21VkBlobBufferAllocator10fastMallocEm+0x1a4): undefined reference to vkGetBufferMemoryRequirements'
allocator.cpp:(.text._ZN4ncnn21VkBlobBufferAllocator10fastMallocEm+0x270): undefined reference to vkAllocateMemory' allocator.cpp:(.text._ZN4ncnn21VkBlobBufferAllocator10fastMallocEm+0x290): undefined reference to vkBindBufferMemory'
allocator.cpp:(.text._ZN4ncnn21VkBlobBufferAllocator10fastMallocEm+0x2bc): undefined reference to vkMapMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkWeightBufferAllocator::clear()':
allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator5clearEv+0x48): undefined reference to vkUnmapMemory' allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator5clearEv+0x5c): undefined reference to vkDestroyBuffer'
allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator5clearEv+0x70): undefined reference to vkFreeMemory' allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator5clearEv+0xc4): undefined reference to vkUnmapMemory'
allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator5clearEv+0xd8): undefined reference to vkDestroyBuffer' allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator5clearEv+0xec): undefined reference to vkFreeMemory'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkWeightBufferAllocator::fastMalloc(unsigned long)': allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator10fastMallocEm+0xd8): undefined reference to vkCreateBuffer'
allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator10fastMallocEm+0x1ec): undefined reference to vkGetBufferMemoryRequirements' allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator10fastMallocEm+0x290): undefined reference to vkAllocateMemory'
allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator10fastMallocEm+0x2b0): undefined reference to vkBindBufferMemory' allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator10fastMallocEm+0x2dc): undefined reference to vkMapMemory'
allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator10fastMallocEm+0x534): undefined reference to vkAllocateMemory' allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator10fastMallocEm+0x554): undefined reference to vkBindBufferMemory'
allocator.cpp:(.text._ZN4ncnn23VkWeightBufferAllocator10fastMallocEm+0x580): undefined reference to vkMapMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkStagingBufferAllocator::clear()':
allocator.cpp:(.text._ZN4ncnn24VkStagingBufferAllocator5clearEv+0x44): undefined reference to vkUnmapMemory' allocator.cpp:(.text._ZN4ncnn24VkStagingBufferAllocator5clearEv+0x58): undefined reference to vkDestroyBuffer'
allocator.cpp:(.text._ZN4ncnn24VkStagingBufferAllocator5clearEv+0x6c): undefined reference to vkFreeMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkStagingBufferAllocator::fastMalloc(unsigned long)':
allocator.cpp:(.text._ZN4ncnn24VkStagingBufferAllocator10fastMallocEm+0xb8): undefined reference to vkCreateBuffer' allocator.cpp:(.text._ZN4ncnn24VkStagingBufferAllocator10fastMallocEm+0xd4): undefined reference to vkGetBufferMemoryRequirements'
allocator.cpp:(.text._ZN4ncnn24VkStagingBufferAllocator10fastMallocEm+0x12c): undefined reference to vkAllocateMemory' allocator.cpp:(.text._ZN4ncnn24VkStagingBufferAllocator10fastMallocEm+0x14c): undefined reference to vkBindBufferMemory'
allocator.cpp:(.text._ZN4ncnn24VkStagingBufferAllocator10fastMallocEm+0x170): undefined reference to vkMapMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkWeightStagingBufferAllocator::fastMalloc(unsigned long)':
allocator.cpp:(.text._ZN4ncnn30VkWeightStagingBufferAllocator10fastMallocEm+0x7c): undefined reference to vkCreateBuffer' allocator.cpp:(.text._ZN4ncnn30VkWeightStagingBufferAllocator10fastMallocEm+0x98): undefined reference to vkGetBufferMemoryRequirements'
allocator.cpp:(.text._ZN4ncnn30VkWeightStagingBufferAllocator10fastMallocEm+0xf0): undefined reference to vkAllocateMemory' allocator.cpp:(.text._ZN4ncnn30VkWeightStagingBufferAllocator10fastMallocEm+0x114): undefined reference to vkBindBufferMemory'
allocator.cpp:(.text._ZN4ncnn30VkWeightStagingBufferAllocator10fastMallocEm+0x138): undefined reference to vkMapMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkWeightStagingBufferAllocator::fastFree(ncnn::VkBufferMemory*)':
allocator.cpp:(.text._ZN4ncnn30VkWeightStagingBufferAllocator8fastFreeEPNS_14VkBufferMemoryE+0x20): undefined reference to vkUnmapMemory' allocator.cpp:(.text._ZN4ncnn30VkWeightStagingBufferAllocator8fastFreeEPNS_14VkBufferMemoryE+0x34): undefined reference to vkDestroyBuffer'
allocator.cpp:(.text._ZN4ncnn30VkWeightStagingBufferAllocator8fastFreeEPNS_14VkBufferMemoryE+0x48): undefined reference to vkFreeMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkImageAllocator::create_image(int, int, VkFormat, unsigned int)':
allocator.cpp:(.text._ZN4ncnn16VkImageAllocator12create_imageEii8VkFormatj+0x60): undefined reference to vkCreateImage' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkImageAllocator::create_imageview(VkImage_T*, VkFormat)':
allocator.cpp:(.text._ZN4ncnn16VkImageAllocator16create_imageviewEP9VkImage_T8VkFormat+0x60): undefined reference to vkCreateImageView' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkImageAllocator::allocate_dedicated_memory(unsigned long, VkImage_T*)':
allocator.cpp:(.text._ZN4ncnn16VkImageAllocator25allocate_dedicated_memoryEmP9VkImage_T+0x60): undefined reference to vkAllocateMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkSimpleImageAllocator::fastMalloc(int, int, VkFormat)':
allocator.cpp:(.text._ZN4ncnn22VkSimpleImageAllocator10fastMallocEii8VkFormat+0x8c): undefined reference to vkCreateImage' allocator.cpp:(.text._ZN4ncnn22VkSimpleImageAllocator10fastMallocEii8VkFormat+0xac): undefined reference to vkGetImageMemoryRequirements'
allocator.cpp:(.text._ZN4ncnn22VkSimpleImageAllocator10fastMallocEii8VkFormat+0x120): undefined reference to vkAllocateMemory' allocator.cpp:(.text._ZN4ncnn22VkSimpleImageAllocator10fastMallocEii8VkFormat+0x140): undefined reference to vkBindImageMemory'
allocator.cpp:(.text._ZN4ncnn22VkSimpleImageAllocator10fastMallocEii8VkFormat+0x188): undefined reference to vkCreateImageView' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(allocator.cpp.o): In function ncnn::VkSimpleImageAllocator::fastFree(ncnn::VkImageMemory*)':
allocator.cpp:(.text._ZN4ncnn22VkSimpleImageAllocator8fastFreeEPNS_13VkImageMemoryE+0x24): undefined reference to vkDestroyImageView' allocator.cpp:(.text._ZN4ncnn22VkSimpleImageAllocator8fastFreeEPNS_13VkImageMemoryE+0x38): undefined reference to vkDestroyImage'
allocator.cpp:(.text._ZN4ncnn22VkSimpleImageAllocator8fastFreeEPNS_13VkImageMemoryE+0x4c): undefined reference to vkFreeMemory' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::Command::Command(ncnn::VulkanDevice const*, unsigned int)':
command.cpp:(.text._ZN4ncnn7CommandC2EPKNS_12VulkanDeviceEj+0x54): undefined reference to vkCreateCommandPool' command.cpp:(.text._ZN4ncnn7CommandC2EPKNS_12VulkanDeviceEj+0x88): undefined reference to vkAllocateCommandBuffers'
command.cpp:(.text._ZN4ncnn7CommandC2EPKNS_12VulkanDeviceEj+0xb4): undefined reference to vkCreateFence' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::Command::create_command_pool()':
command.cpp:(.text._ZN4ncnn7Command19create_command_poolEv+0x4c): undefined reference to vkCreateCommandPool' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::Command::create_command_buffer()':
command.cpp:(.text._ZN4ncnn7Command21create_command_bufferEv+0x4c): undefined reference to vkAllocateCommandBuffers' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::Command::~Command()':
command.cpp:(.text._ZN4ncnn7CommandD2Ev+0x2c): undefined reference to vkDestroyFence' command.cpp:(.text._ZN4ncnn7CommandD2Ev+0x44): undefined reference to vkFreeCommandBuffers'
command.cpp:(.text._ZN4ncnn7CommandD2Ev+0x60): undefined reference to vkDestroyCommandPool' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::Command::~Command()':
command.cpp:(.text._ZN4ncnn7CommandD0Ev+0x2c): undefined reference to vkDestroyFence' command.cpp:(.text._ZN4ncnn7CommandD0Ev+0x44): undefined reference to vkFreeCommandBuffers'
command.cpp:(.text._ZN4ncnn7CommandD0Ev+0x58): undefined reference to vkDestroyCommandPool' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::Command::begin_command_buffer()':
command.cpp:(.text._ZN4ncnn7Command20begin_command_bufferEv+0x3c): undefined reference to vkBeginCommandBuffer' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::Command::end_command_buffer()':
command.cpp:(.text._ZN4ncnn7Command18end_command_bufferEv+0xc): undefined reference to vkEndCommandBuffer' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::Command::queue_submit_and_wait_fence()':
command.cpp:(.text._ZN4ncnn7Command27queue_submit_and_wait_fenceEv+0x74): undefined reference to vkQueueSubmit' command.cpp:(.text._ZN4ncnn7Command27queue_submit_and_wait_fenceEv+0x94): undefined reference to vkWaitForFences'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::VkCompute(ncnn::VulkanDevice const*)': command.cpp:(.text._ZN4ncnn9VkComputeC2EPKNS_12VulkanDeviceE+0x7c): undefined reference to vkBeginCommandBuffer'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::~VkCompute()': command.cpp:(.text._ZN4ncnn9VkComputeD2Ev+0x68): undefined reference to vkFreeDescriptorSets'
command.cpp:(.text._ZN4ncnn9VkComputeD2Ev+0x80): undefined reference to vkDestroyDescriptorPool' command.cpp:(.text._ZN4ncnn9VkComputeD2Ev+0x128): undefined reference to vkDestroyFence'
command.cpp:(.text._ZN4ncnn9VkComputeD2Ev+0x140): undefined reference to vkFreeCommandBuffers' command.cpp:(.text._ZN4ncnn9VkComputeD2Ev+0x160): undefined reference to vkDestroyCommandPool'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_upload(ncnn::VkMat const&)': command.cpp:(.text._ZN4ncnn9VkCompute13record_uploadERKNS_5VkMatE+0xd0): undefined reference to vkCmdCopyBuffer'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::copy_buffer(VkBuffer_T*, unsigned long, VkBuffer_T*, unsigned long, unsigned long)': command.cpp:(.text._ZN4ncnn9VkCompute11copy_bufferEP10VkBuffer_TmS2_mm+0x38): undefined reference to vkCmdCopyBuffer'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_download(ncnn::VkMat const&)': command.cpp:(.text._ZN4ncnn9VkCompute15record_downloadERKNS_5VkMatE+0x118): undefined reference to vkCmdCopyBuffer'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_clone(ncnn::VkMat const&, ncnn::VkMat const&)': command.cpp:(.text._ZN4ncnn9VkCompute12record_cloneERKNS_5VkMatES3_+0x118): undefined reference to vkCmdCopyBuffer'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_copy_regions(ncnn::VkMat const&, ncnn::VkMat const&, std::__ndk1::vector<VkBufferCopy, std::__ndk1::allocator<VkBufferCopy> > const&)': command.cpp:(.text._ZN4ncnn9VkCompute19record_copy_regionsERKNS_5VkMatES3_RKNSt6__ndk16vectorI12VkBufferCopyNS4_9allocatorIS6_EEEE+0x108): undefined reference to vkCmdCopyBuffer'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o):command.cpp:(.text._ZN4ncnn9VkCompute19copy_buffer_regionsEP10VkBuffer_TS2_RKNSt6__ndk16vectorI12VkBufferCopyNS3_9allocatorIS5_EEEE+0x1c): more undefined references to vkCmdCopyBuffer' follow /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_bind_pipeline(VkPipeline_T*)':
command.cpp:(.text._ZN4ncnn9VkCompute20record_bind_pipelineEP12VkPipeline_T+0x44): undefined reference to vkCmdBindPipeline' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_update_bindings(VkPipelineLayout_T*, VkDescriptorSetLayout_T*, VkDescriptorUpdateTemplate_T*, std::__ndk1::vector<ncnn::VkMat, std::__ndk1::allocatorncnn::VkMat > const&)':
command.cpp:(.text._ZN4ncnn9VkCompute22record_update_bindingsEP18VkPipelineLayout_TP23VkDescriptorSetLayout_TP28VkDescriptorUpdateTemplate_TRKNSt6__ndk16vectorINS_5VkMatENS7_9allocatorIS9_EEEE+0x168): undefined reference to vkCreateDescriptorPool' command.cpp:(.text._ZN4ncnn9VkCompute22record_update_bindingsEP18VkPipelineLayout_TP23VkDescriptorSetLayout_TP28VkDescriptorUpdateTemplate_TRKNSt6__ndk16vectorINS_5VkMatENS7_9allocatorIS9_EEEE+0x268): undefined reference to vkAllocateDescriptorSets'
command.cpp:(.text._ZN4ncnn9VkCompute22record_update_bindingsEP18VkPipelineLayout_TP23VkDescriptorSetLayout_TP28VkDescriptorUpdateTemplate_TRKNSt6__ndk16vectorINS_5VkMatENS7_9allocatorIS9_EEEE+0x420): undefined reference to vkUpdateDescriptorSets' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_push_constants(VkPipelineLayout_T*, std::__ndk1::vector<ncnn::vk_constant_type, std::__ndk1::allocatorncnn::vk_constant_type > const&)':
command.cpp:(.text._ZN4ncnn9VkCompute21record_push_constantsEP18VkPipelineLayout_TRKNSt6__ndk16vectorINS_16vk_constant_typeENS3_9allocatorIS5_EEEE+0x54): undefined reference to vkCmdPushConstants' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_dispatch(unsigned int const*)':
command.cpp:(.text._ZN4ncnn9VkCompute15record_dispatchEPKj+0x48): undefined reference to vkCmdDispatch' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_queue_transfer_acquire(ncnn::VkMat const&, unsigned int)':
command.cpp:(.text._ZN4ncnn9VkCompute29record_queue_transfer_acquireERKNS_5VkMatEj+0xb0): undefined reference to vkCmdPipelineBarrier' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::queue_transfer_acquire_barrier(VkBuffer_T*, unsigned long, unsigned long, unsigned int)':
command.cpp:(.text._ZN4ncnn9VkCompute30queue_transfer_acquire_barrierEP10VkBuffer_Tmmj+0x6c): undefined reference to vkCmdPipelineBarrier' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::bind_pipeline(VkPipeline_T*)':
command.cpp:(.text._ZN4ncnn9VkCompute13bind_pipelineEP12VkPipeline_T+0xc): undefined reference to vkCmdBindPipeline' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::push_constants(VkPipelineLayout_T*, std::__ndk1::vector<ncnn::vk_constant_type, std::__ndk1::allocatorncnn::vk_constant_type > const&)':
command.cpp:(.text._ZN4ncnn9VkCompute14push_constantsEP18VkPipelineLayout_TRKNSt6__ndk16vectorINS_16vk_constant_typeENS3_9allocatorIS5_EEEE+0x1c): undefined reference to vkCmdPushConstants' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::dispatch(unsigned int const*)':
command.cpp:(.text._ZN4ncnn9VkCompute8dispatchEPKj+0x10): undefined reference to vkCmdDispatch' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_transfer_compute_barrier(ncnn::VkMat const&)':
command.cpp:(.text._ZN4ncnn9VkCompute31record_transfer_compute_barrierERKNS_5VkMatE+0xac): undefined reference to vkCmdPipelineBarrier' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::transfer_compute_barrier(VkBuffer_T*, unsigned long, unsigned long)':
command.cpp:(.text._ZN4ncnn9VkCompute24transfer_compute_barrierEP10VkBuffer_Tmm+0x64): undefined reference to vkCmdPipelineBarrier' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_compute_transfer_barrier(ncnn::VkMat const&)':
command.cpp:(.text._ZN4ncnn9VkCompute31record_compute_transfer_barrierERKNS_5VkMatE+0xac): undefined reference to vkCmdPipelineBarrier' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::compute_transfer_barrier(VkBuffer_T*, unsigned long, unsigned long)':
command.cpp:(.text._ZN4ncnn9VkCompute24compute_transfer_barrierEP10VkBuffer_Tmm+0x64): undefined reference to vkCmdPipelineBarrier' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::record_compute_compute_barrier(ncnn::VkMat const&)':
command.cpp:(.text._ZN4ncnn9VkCompute30record_compute_compute_barrierERKNS_5VkMatE+0xac): undefined reference to vkCmdPipelineBarrier' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o):command.cpp:(.text._ZN4ncnn9VkCompute23compute_compute_barrierEP10VkBuffer_Tmm+0x64): more undefined references to vkCmdPipelineBarrier' follow
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::submit_and_wait()': command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x48): undefined reference to vkEndCommandBuffer'
command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x90): undefined reference to vkBeginCommandBuffer' command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x190): undefined reference to vkCmdCopyBuffer'
command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x26c): undefined reference to vkCmdBindPipeline' command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x284): undefined reference to vkCmdDispatch'
command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x2e8): undefined reference to vkCmdCopyBuffer' command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x3f8): undefined reference to vkCmdBindDescriptorSets'
command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x424): undefined reference to vkCmdPushConstants' command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x4b0): undefined reference to vkCmdPipelineBarrier'
command.cpp:(.text._ZN4ncnn9VkCompute15submit_and_waitEv+0x4d8): undefined reference to vkEndCommandBuffer' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::bind_descriptorset(VkPipelineLayout_T*, VkDescriptorSet_T*)':
command.cpp:(.text._ZN4ncnn9VkCompute18bind_descriptorsetEP18VkPipelineLayout_TP17VkDescriptorSet_T+0x40): undefined reference to vkCmdBindDescriptorSets' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkCompute::reset()':
command.cpp:(.text._ZN4ncnn9VkCompute5resetEv+0x28): undefined reference to vkResetCommandBuffer' command.cpp:(.text._ZN4ncnn9VkCompute5resetEv+0x40): undefined reference to vkResetFences'
command.cpp:(.text._ZN4ncnn9VkCompute5resetEv+0x78): undefined reference to vkBeginCommandBuffer' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkTransfer::~VkTransfer()':
command.cpp:(.text._ZN4ncnn10VkTransferD2Ev+0x3c): undefined reference to vkDestroyFence' command.cpp:(.text._ZN4ncnn10VkTransferD2Ev+0x54): undefined reference to vkFreeCommandBuffers'
command.cpp:(.text._ZN4ncnn10VkTransferD2Ev+0x70): undefined reference to vkDestroyCommandPool' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkTransfer::~VkTransfer()':
command.cpp:(.text._ZN4ncnn10VkTransferD0Ev+0x3c): undefined reference to vkDestroyFence' command.cpp:(.text._ZN4ncnn10VkTransferD0Ev+0x54): undefined reference to vkFreeCommandBuffers'
command.cpp:(.text._ZN4ncnn10VkTransferD0Ev+0x68): undefined reference to vkDestroyCommandPool' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkTransfer::submit_and_wait()':
command.cpp:(.text._ZN4ncnn10VkTransfer15submit_and_waitEv+0x1dc): undefined reference to vkBeginCommandBuffer' command.cpp:(.text._ZN4ncnn10VkTransfer15submit_and_waitEv+0x228): undefined reference to vkCmdCopyBuffer'
command.cpp:(.text._ZN4ncnn10VkTransfer15submit_and_waitEv+0x2d8): undefined reference to vkCmdPipelineBarrier' command.cpp:(.text._ZN4ncnn10VkTransfer15submit_and_waitEv+0x2ec): undefined reference to vkEndCommandBuffer'
command.cpp:(.text._ZN4ncnn10VkTransfer15submit_and_waitEv+0x364): undefined reference to vkBeginCommandBuffer' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkTransfer::copy_buffer(VkBuffer_T*, unsigned long, VkBuffer_T*, unsigned long, unsigned long)':
command.cpp:(.text._ZN4ncnn10VkTransfer11copy_bufferEP10VkBuffer_TmS2_mm+0x38): undefined reference to vkCmdCopyBuffer' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkTransfer::queue_transfer_release_barrier(VkBuffer_T*, unsigned long, unsigned long, unsigned int)':
command.cpp:(.text._ZN4ncnn10VkTransfer30queue_transfer_release_barrierEP10VkBuffer_Tmmj+0x6c): undefined reference to vkCmdPipelineBarrier' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(command.cpp.o): In function ncnn::VkTransfer::copy_buffer_regions(VkBuffer_T*, VkBuffer_T*, std::__ndk1::vector<VkBufferCopy, std::__ndk1::allocator > const&)':
command.cpp:(.text._ZN4ncnn10VkTransfer19copy_buffer_regionsEP10VkBuffer_TS2_RKNSt6__ndk16vectorI12VkBufferCopyNS3_9allocatorIS5_EEEE+0x1c): undefined reference to vkCmdCopyBuffer' /home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(pipeline.cpp.o): In function ncnn::Pipeline::destroy()':
pipeline.cpp:(.text._ZN4ncnn8Pipeline7destroyEv+0x50): undefined reference to vkDestroyPipeline' pipeline.cpp:(.text._ZN4ncnn8Pipeline7destroyEv+0x6c): undefined reference to vkDestroyPipelineLayout'
pipeline.cpp:(.text._ZN4ncnn8Pipeline7destroyEv+0x88): undefined reference to vkDestroyDescriptorSetLayout' pipeline.cpp:(.text._ZN4ncnn8Pipeline7destroyEv+0xa4): undefined reference to vkDestroyShaderModule'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(pipeline.cpp.o): In function ncnn::Pipeline::create(VkShaderModule_T*, char const*, std::__ndk1::vector<ncnn::vk_specialization_type, std::__ndk1::allocator<ncnn::vk_specialization_type> > const&, int, int)': pipeline.cpp:(.text._ZN4ncnn8Pipeline6createEP16VkShaderModule_TPKcRKNSt6__ndk16vectorINS_22vk_specialization_typeENS5_9allocatorIS7_EEEEii+0xb4): undefined reference to vkCreatePipelineLayout'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(pipeline.cpp.o): In function ncnn::Pipeline::create_descriptorset_layout(int)': pipeline.cpp:(.text._ZN4ncnn8Pipeline27create_descriptorset_layoutEi+0x140): undefined reference to vkCreateDescriptorSetLayout'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(pipeline.cpp.o): In function ncnn::Pipeline::create_pipeline_layout(int)': pipeline.cpp:(.text._ZN4ncnn8Pipeline22create_pipeline_layoutEi+0x88): undefined reference to vkCreatePipelineLayout'
/home/liuwenjie/AndroidStudioProject/mtcnn-linux-as-master/mtcnn_as/app/src/main/cpp/../jniLibs/arm64-v8a/libncnn.a(pipeline.cpp.o): In function ncnn::Pipeline::create_pipeline(VkShaderModule_T*, char const*, std::__ndk1::vector<ncnn::vk_specialization_type, std::__ndk1::allocator<ncnn::vk_specialization_type> > const&)': pipeline.cpp:(.text._ZN4ncnn8Pipeline15create_pipelineEP16VkShaderModule_TPKcRKNSt6__ndk16vectorINS_22vk_specialization_typeENS5_9allocatorIS7_EEEE+0x2d0): undefined reference to vkCreateComputePipelines'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

偶尔返回远比人脸大的框

算法偶尔会出现框错的情况,返回的人脸框比实际人脸大很多,很奇怪
模型是用什么训练集训练的呢?

Error build mtcnn_ncnn android

I'm using NDK 21.0.6113669 for building mtcnn_ncnn android project, but when I run this project, there are many errors. Would you please share a new version w.r.t updated NDK? That would be very kind. Thanks!

org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:540)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:124)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:121)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.getBuildAnalysis(DefaultGradleLauncher.java:88)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.configure(InProcessBuildActionExecuter.java:107)
at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:45)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210)
at com.android.build.gradle.internal.ndk.NdkHandler.getPlatformVersion(NdkHandler.java:130)
at com.android.build.gradle.internal.ndk.NdkHandler.supports64Bits(NdkHandler.java:234)
at com.android.build.gradle.internal.ndk.NdkHandler.getSupportedAbis(NdkHandler.java:297)
at com.android.build.gradle.tasks.ExternalNativeJsonGenerator.create(ExternalNativeJsonGenerator.java:569)
at com.android.build.gradle.internal.TaskManager.createExternalNativeBuildJsonGenerators(TaskManager.java:1225)
at com.android.build.gradle.internal.ApplicationTaskManager$11.call(ApplicationTaskManager.java:219)
at com.android.build.gradle.internal.ApplicationTaskManager$11.call(ApplicationTaskManager.java:216)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
at com.android.build.gradle.internal.ApplicationTaskManager.createTasksForVariantData(ApplicationTaskManager.java:214)
at com.android.build.gradle.internal.VariantManager.createTasksForVariantData(VariantManager.java:485)
at com.android.build.gradle.internal.VariantManager$3.call(VariantManager.java:293)
at com.android.build.gradle.internal.VariantManager$3.call(VariantManager.java:290)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
at com.android.build.gradle.internal.profile.SpanRecorders.record(SpanRecorders.java:44)
at com.android.build.gradle.internal.VariantManager.createAndroidTasks(VariantManager.java:286)
at com.android.build.gradle.BasePlugin$11.call(BasePlugin.java:688)
at com.android.build.gradle.BasePlugin$11.call(BasePlugin.java:685)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:683)
at com.android.build.gradle.BasePlugin$10.call(BasePlugin.java:608)
at com.android.build.gradle.BasePlugin$10.call(BasePlugin.java:605)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
at com.android.build.gradle.BasePlugin.lambda$createTasks$1(BasePlugin.java:603)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:93)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:82)
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy11.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
... 57 more

ncnn.bat运行的时候报错?Protobuf compiler version 3.5.0 doesn't match library version

CMake Warning at C:/Program Files/CMake/share/cmake-3.13/Modules/FindProtobuf.cmake:499 (message):
Protobuf compiler version 3.5.0 doesn't match library version
ERROR.ERROR.ERROR
Call Stack (most recent call first):
tools/onnx/CMakeLists.txt:2 (find_package)

-- Configuring incomplete, errors occurred!

请问你们用的cmake是什么版本啊?有没有遇到我这个问题

Android,build成功但是run时Clang++报错

由于NDK用了比较新的版本,所以也跟着用了clang
导致了以下的报错

Build command failed. Error while executing process D:\Android\android-sdk\cmake\3.10.2.4988404\bin\ninja.exe with arguments {-C D:\plantainz\OuO_DeepLearning\examples\mtcnn_ncnn\mtcnn_AS\app\.cxx\cmake\debug\armeabi-v7a mtcnn} ninja: Entering directory D:\plantainz\OuO_DeepLearning\examples\mtcnn_ncnn\mtcnn_AS\app.cxx\cmake\debug\armeabi-v7a'
[1/1] Linking CXX shared library ........\build\intermediates\cmake\debug\obj\armeabi-v7a\libmtcnn.so
FAILED: ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libmtcnn.so
cmd.exe /C "cd . && D:\Android\android-sdk\ndk\21.1.6352462\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi17 --gcc-toolchain=D:/Android/android-sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=D:/Android/android-sdk/ndk/21.1.6352462/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 -frtti -fexceptions -fopenmp -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math -std=c++11 -frtti -fexceptions -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,libmtcnn.so -o ........\build\intermediates\cmake\debug\obj\armeabi-v7a\libmtcnn.so CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn.cpp.o CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn_jni.cpp.o ../../../../src/main/jniLibs/armeabi-v7a/libncnn.a -ljnigraphics -lz -llog -latomic -lm && cd ."
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_blob_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_layer_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Extractor::input(char const*, ncnn::Mat const&): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::layer_registry_entry*, std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry > >, unsigned int, ncnn::layer_registry_entry const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Layer*, std::allocatorncnn::Layer* >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Layer**, std::vector<ncnn::Layer*, std::allocatorncnn::Layer* > >, unsigned int, ncnn::Layer* const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<int, std::allocator >::_M_fill_insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator > >, unsigned int, int const&): error: undefined reference to 'std::__throw_length_error(char const*)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.`

想问问怎么解决!是只能降NDK去用gcc吗

android studio上编译错误,已安装lldb,cmake,ndk

Build command failed.
Error while executing '/Users/bitmain/Library/Android/sdk/cmake/3.6.4111459/bin/cmake' with arguments {--build /Users/bitmain/Work/openLib/mtcnn_ncnn/mtcnn_AS/app/.externalNativeBuild/cmake/debug/armeabi-v7a --target mtcnn}
[1/3] Building CXX object CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn.cpp.o
[2/3] Building CXX object CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn_jni.cpp.o
[3/3] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libmtcnn.so
FAILED: : && /Users/bitmain/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=armv7-none-linux-androideabi --gcc-toolchain=/Users/bitmain/Library/Android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64 --sysroot=/Users/bitmain/Library/Android/sdk/ndk-bundle/sysroot -fPIC -isystem /Users/bitmain/Library/Android/sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=17 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -fopenmp -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math -std=c++11 -frtti -fexceptions -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot /Users/bitmain/Library/Android/sdk/ndk-bundle/platforms/android-17/arch-arm -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--exclude-libs,libunwind.a -L/Users/bitmain/Library/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libmtcnn.so -o ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libmtcnn.so CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn.cpp.o CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn_jni.cpp.o ../../../../src/main/jniLibs/armeabi-v7a/libncnn.a -ljnigraphics -lz -llog -latomic -lm "/Users/bitmain/Library/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a" "/Users/bitmain/Library/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a" "/Users/bitmain/Library/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a" "/Users/bitmain/Library/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a" "-ldl" && :
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_blob_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_layer_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Extractor::input(char const*, ncnn::Mat const&): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::layer_registry_entry*, std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry > >, unsigned int, ncnn::layer_registry_entry const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Layer*, std::allocatorncnn::Layer* >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Layer**, std::vector<ncnn::Layer*, std::allocatorncnn::Layer* > >, unsigned int, ncnn::Layer* const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<int, std::allocator >::_M_fill_insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator > >, unsigned int, int const&): error: undefined reference to 'std::__throw_length_error(char const*)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

急需帮助,谢谢

关于CPU占用问题

很感谢你共享源码供大家学习,我成功的编译了你的代码,人脸的识别速度非常快。不过,我发现在windows上CPU占用非常高,我这里有90%。请问关于CPU占用优化可以从哪里入手?

编译出错,什么原因?

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:externalNativeBuildDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.gradle.internal.UncheckedException: Build command failed.
Error while executing 'C:\Users\vcvyc\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe' with arguments {--build E:\data\Document\ASProjects\mtcnn_ncnn\mtcnn_AS\app.externalNativeBuild\cmake\debug\armeabi-v7a --target mtcnn}
[1/3] Building CXX object CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn.cpp.o
[2/3] Building CXX object CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn_jni.cpp.o
[3/3] Linking CXX shared library ........\build\intermediates\cmake\debug\obj\armeabi-v7a\libmtcnn.so
FAILED: cmd.exe /C "cd . && C:\Users\vcvyc\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sysroot -fPIC -isystem C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=17 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -fopenmp -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math -std=c++11 -frtti -fexceptions -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-17/arch-arm -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--exclude-libs,libunwind.a -LC:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libmtcnn.so -o ........\build\intermediates\cmake\debug\obj\armeabi-v7a\libmtcnn.so CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn.cpp.o CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn_jni.cpp.o ../../../../src/main/jniLibs/armeabi-v7a/libncnn.a -ljnigraphics -lz -llog -latomic -lm "C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a" "C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a" "C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a" "C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a" "-ldl" && cd ."
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_blob_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_layer_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Extractor::input(char const*, ncnn::Mat const&): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::layer_registry_entry*, std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry > >, unsigned int, ncnn::layer_registry_entry const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Layer*, std::allocatorncnn::Layer* >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Layer**, std::vector<ncnn::Layer*, std::allocatorncnn::Layer* > >, unsigned int, ncnn::Layer* const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<int, std::allocator >::_M_fill_insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator > >, unsigned int, int const&): error: undefined reference to 'std::__throw_length_error(char const*)'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:45)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:78)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:228)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:621)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:604)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 73 more

Caused by: Build command failed.
Error while executing 'C:\Users\vcvyc\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe' with arguments {--build E:\data\Document\ASProjects\mtcnn_ncnn\mtcnn_AS\app.externalNativeBuild\cmake\debug\armeabi-v7a --target mtcnn}
[1/3] Building CXX object CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn.cpp.o
[2/3] Building CXX object CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn_jni.cpp.o
[3/3] Linking CXX shared library ........\build\intermediates\cmake\debug\obj\armeabi-v7a\libmtcnn.so
FAILED: cmd.exe /C "cd . && C:\Users\vcvyc\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi --gcc-toolchain=C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sysroot -fPIC -isystem C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=17 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -fopenmp -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math -std=c++11 -frtti -fexceptions -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-17/arch-arm -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--exclude-libs,libunwind.a -LC:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libmtcnn.so -o ........\build\intermediates\cmake\debug\obj\armeabi-v7a\libmtcnn.so CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn.cpp.o CMakeFiles/mtcnn.dir/src/main/cpp/mtcnn_jni.cpp.o ../../../../src/main/jniLibs/armeabi-v7a/libncnn.a -ljnigraphics -lz -llog -latomic -lm "C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a" "C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++abi.a" "C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libandroid_support.a" "C:/Users/vcvyc/AppData/Local/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libunwind.a" "-ldl" && cd ."
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::clear(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_M_destroy(std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::assign(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_blob_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Net::find_layer_index_by_name(char const*) const: error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function ncnn::Extractor::input(char const*, ncnn::Mat const&): error: undefined reference to 'std::string::compare(char const*) const'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::layer_registry_entry*, std::vector<ncnn::layer_registry_entry, std::allocatorncnn::layer_registry_entry > >, unsigned int, ncnn::layer_registry_entry const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Layer*, std::allocatorncnn::Layer* >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Layer**, std::vector<ncnn::Layer*, std::allocatorncnn::Layer* > >, unsigned int, ncnn::Layer* const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<ncnn::Blob, std::allocatorncnn::Blob >::_M_fill_insert(__gnu_cxx::__normal_iterator<ncnn::Blob*, std::vector<ncnn::Blob, std::allocatorncnn::Blob > >, unsigned int, ncnn::Blob const&): error: undefined reference to 'std::__throw_length_error(char const*)'
../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):/home/nihui/osd/ncnn/src/net.cpp:function std::vector<int, std::allocator >::_M_fill_insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator > >, unsigned int, int const&): error: undefined reference to 'std::__throw_length_error(char const*)'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

at com.android.build.gradle.tasks.ExternalNativeBuildTaskUtils.executeBuildProcessAndLogError(ExternalNativeBuildTaskUtils.java:233)
at com.android.build.gradle.tasks.ExternalNativeBuildTask.executeProcessBatch(ExternalNativeBuildTask.java:231)
at com.android.build.gradle.tasks.ExternalNativeBuildTask.build(ExternalNativeBuildTask.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
... 80 more

安卓编译报错 error: use of undeclared identifier 'round'

用AS build 报错:
mtcnn_ncnn\mtcnn_AS\app\src\main\cpp\mtcnn.cpp

Error:(95, 27) error: use of undeclared identifier 'round'
Error:(96, 27) error: use of undeclared identifier 'round'
Error:(97, 27) error: use of undeclared identifier 'round'
Error:(98, 27) error: use of undeclared identifier 'round'
Error:(189, 24) error: use of undeclared identifier 'round'
Error:(190, 24) error: use of undeclared identifier 'round'
Error:(191, 24) error: use of undeclared identifier 'round'
Error:(192, 24) error: use of undeclared identifier 'round'
Error:(217, 23) error: use of undeclared identifier 'ceil'
Error:(218, 23) error: use of undeclared identifier 'ceil'

请问是什么原因,直接用AS打开mtcnn_as项目

请问MTCNN

你好,请问MTCNN现在用到的caffe models是哪里来的?有训练代码吗?
我原来用tensorflow,不知道这个caffe的训练结果是哪里来的。
谢谢!

build error

vs2017 + opencv3.2
错误 C2065 “t”: 未声明的标识符 mtcnn_ncnn E:\dev\workspace\mtcnn_ncnn\3rdparty\include\Opencv\opencv2\core\fast_math.hpp 97

错误 C2065 “__m128d”: 未声明的标识符 mtcnn_ncnn E:\dev\opencv3.4.3\build\include\opencv2\core\fast_math.hpp 105

错误 C3861 “_mm_cmplt_sd”: 找不到标识符 mtcnn_ncnn E:\dev\workspace\mtcnn_ncnn\3rdparty\include\Opencv\opencv2\core\fast_math.hpp 136

切换 vs2017 + opencv3.4.3, 问题依旧。。。

不知道什么错,c++小白,请求帮助,感谢!!!

mtcnn.cpp line 226报编译错误

我试图移植到linux环境中,结果报如下错误
[ 33%] Building CXX object CMakeFiles/mtcnn_ncnn.dir/src/mtcnn.cpp.o
/root/ai/mtcnn_cnn/mtcnn_cnn/src/mtcnn.cpp: In member function ‘void MTCNN::RNet()’:
/root/ai/mtcnn_cnn/mtcnn_cnn/src/mtcnn.cpp:226:31: warning: pointer of type ‘void ’ used in arithmetic [-Wpointer-arith]
if(
(score.data+score.cstep) > threshold[1]){
^
/root/ai/mtcnn_cnn/mtcnn_cnn/src/mtcnn.cpp:226:36: error: ‘void*’ is not a pointer-to-object type
if(*(score.data+score.cstep) > threshold[1]){
^
CMakeFiles/mtcnn_ncnn.dir/build.make:62: recipe for target 'CMakeFiles/mtcnn_ncnn.dir/src/mtcnn.cpp.o' failed
make[2]: *** [CMakeFiles/mtcnn_ncnn.dir/src/mtcnn.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/mtcnn_ncnn.dir/all' failed
make[1]: *** [CMakeFiles/mtcnn_ncnn.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

有几点疑问

有几点疑问:
1.为什么 说这个速度跟人脸数相关?我测试过二张大小一样的图片1600x900,无人脸的速度与有10个人脸的无太大差异,能否认为refine, nms这些操作在conv中是相当少耗时的?
2.看到你说“ncnn不是专门在win端的,set_num_threads设置2看看,是不是默认的线程太大”, 这个数值我发现设为cpu 线程数时最快,但在另一台机上是cpu核数时最快

@moli232777144

RNet输出结果为空

你好,有幸看到你的工程资源。环境安装完后,测试时p网络输出正常,r网络输出为空。你测试时是否一切正常?同时在mtcnn的226行(if((score.data+score.cstep) > threshold[1])),编译报错。此处应该需要将void强转为float*。

apk闪退

build完成,并导出apk,放到模拟器上安装成功,但是双击就闪退

能编译运行,但是在sample.jpg上找不到目标

能编译运行,但是在sample.jpg上找不到目标,输出如下:

find_blob_index_by_name data failed
find_blob_index_by_name data failed
find_blob_index_by_name data failed
firstBbox_.size()=46
secondBbox_.size()=0
time608ms

请问mtcnn有在ios端验证过效果吗?

hi moli232777144,
我将你提供的模型和代码移植到ios端,测试时发现在RNet时返回的secondBbox_的个数已经是0。究其原因是在PNet()后返回的score和对应的boundingbox 和 windows的不一样。导致nms后的firstBbox_ 已经有问题了。请帮忙分析下原因,谢谢!

mtcnn 可以做 int8 量化吗?

看网上的资料说 int8 量化后可以减少模型体积,同时提高运算速度。
请问这个项目可以提供 int8 量化的模型吗?

参照readme->PC端调试->编译ncnn 失败

参照readme,在PC端进行编译。步骤如下:
1.下载源码并更新子模块
2.编译protobuf 通过
3. 编译ncnn
cd ../3rdparty/src/ncnn
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=E:\hawk-skys\mtcnn_ncnn\mtcnn_ncnn\3rdparty\include -DProtobuf_LIBRARIES=E:\hawk-skys\mtcnn_ncnn\mtcnn_ncnn\3rdparty\lib\libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=E:\hawk-skys\mtcnn_ncnn\mtcnn_ncnn\3rdparty\bin\protoc.exe

出错信息如下:
E:\hawk-skys\mtcnn_ncnn\mtcnn_ncnn\3rdparty\src\ncnn\build>cmake .. -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=E:\hawk-skys\mtcnn_ncnn\mtcnn_ncnn\3rdparty\include -DProtobuf_LIBRARIES=E:\hawk-skys\mtcnn_ncnn\mtcnn_ncnn\3rdparty\lib\libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=E:\hawk-skys\mtcnn_ncnn\mtcnn_ncnn\3rdparty\bin\protoc.exe
-- CMAKE_INSTALL_PREFIX = E:\hawk-skys\mtcnn_ncnn\mtcnn_ncnn\3rdparty\src\ncnn\build/install
-- Target arch: x86
-- OpenCV library: C:/Users/Administrator/Downloads/opencv/build
-- version: 3.4.10
-- libraries: opencv_world
-- include path: C:/Users/Administrator/Downloads/opencv/build/include;C:/Users/Administrator/Downloads/opencv/build/include/opencv
CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/FindProtobuf.cmake:469 (file):
file STRINGS file
"E:/hawk-skys/mtcnn_ncnn/mtcnn_ncnn/3rdparty/include/google/protobuf/stubs/common.h"
cannot be read.
Call Stack (most recent call first):
tools/caffe/CMakeLists.txt:2 (find_package)

CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/FindProtobuf.cmake:475 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE (2).
Call Stack (most recent call first):
tools/caffe/CMakeLists.txt:2 (find_package)

CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/FindProtobuf.cmake:476 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE (2).
Call Stack (most recent call first):
tools/caffe/CMakeLists.txt:2 (find_package)

CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/FindProtobuf.cmake:477 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD (2).
Call Stack (most recent call first):
tools/caffe/CMakeLists.txt:2 (find_package)

CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/FindProtobuf.cmake:469 (file):
file STRINGS file
"E:/hawk-skys/mtcnn_ncnn/mtcnn_ncnn/3rdparty/include/google/protobuf/stubs/common.h"
cannot be read.
Call Stack (most recent call first):
tools/onnx/CMakeLists.txt:2 (find_package)

CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/FindProtobuf.cmake:475 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE (2).
Call Stack (most recent call first):
tools/onnx/CMakeLists.txt:2 (find_package)

CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/FindProtobuf.cmake:476 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE (2).
Call Stack (most recent call first):
tools/onnx/CMakeLists.txt:2 (find_package)

CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/FindProtobuf.cmake:477 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD (2).
Call Stack (most recent call first):
tools/onnx/CMakeLists.txt:2 (find_package)

CMake Warning at tools/quantize/CMakeLists.txt:26 (message):
OpenCV not found, quantize tools won't be built

-- Configuring incomplete, errors occurred!
See also "E:/hawk-skys/mtcnn_ncnn/mtcnn_ncnn/3rdparty/src/ncnn/build/CMakeFiles/CMakeOutput.log".

编译报错

Error:error: undefined reference to 'std::string::assign(std::string const&)'
Error:error: linker command failed with

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.