moli232777144 / mtcnn_ncnn Goto Github PK
View Code? Open in Web Editor NEW基于ncnn框架搭建win及android端的MTCNN人脸检测工程
基于ncnn框架搭建win及android端的MTCNN人脸检测工程
嗨,楼主,请问如何测试NCNN在硬件(安卓平台)的性能?有这方面的资料可以推荐么?
I was trying to Shift the code to one of my project which has a c++ file but was not able to do that as a project can't have more then one cmake fie so I was not able to do so if anyone has a solution to it please help me out. Any help will be great.
海思960sample检测时间53ms,正常吗?
models 里面 的 bin和 param 不是用里面的 caffemodel 转的吗? 为什么我用caffemodel 检测会出错,不准确呢?
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
我想提高检测速度,考虑输入灰度图,但是检测不出人脸了!如果要支持灰度图,需要做什么改变?
ncnn::Mat gray_img = ncnn::Mat::from_pixels((const unsigned char*)(ncnn_img.data), ncnn::Mat::PIXEL_BGR2GRAY, width, height);
Error:FAILURE: Build failed with an exception.
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.
为什么这里面cd ../3rdparty/src/protobuf/cmake,没有cmake文件
@moli232777144 compile your mtcnn_AS project via android studio 3.0.1, encounter error as flollow:
Error:error: linker command failed with exit code 1 (use -v to see invocation), how can I solvesit ?
如题,我的手机是 华为P20 pro,请问如何处理,谢谢
I try to compile the mtcnn_AS,but it seems that it lacks the modelbin.h .
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,但直接替换进去,都没效果.
谢谢.
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.
算法偶尔会出现框错的情况,返回的人脸框比实际人脸大很多,很奇怪
模型是用什么训练集训练的呢?
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
在看结构PNET input 应该是12123,但是源码中的输入为什么会变成多尺度的呢?
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是什么版本啊?有没有遇到我这个问题
由于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吗
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.
急需帮助,谢谢
很感谢你共享源码供大家学习,我成功的编译了你的代码,人脸的识别速度非常快。不过,我发现在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
请教下安卓端使用的libncnn.a文件是在哪一步生成的
用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现在用到的caffe models是哪里来的?有训练代码吗?
我原来用tensorflow,不知道这个caffe的训练结果是哪里来的。
谢谢!
@moli232777144 你好,看了你的代码,写的很详细,想问一下,安卓端你实现了摄像头实时检测了吗?怎么来验证呢?
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++小白,请求帮助,感谢!!!
我试图移植到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核数时最快
你好,有幸看到你的工程资源。环境安装完后,测试时p网络输出正常,r网络输出为空。你测试时是否一切正常?同时在mtcnn的226行(if((score.data+score.cstep) > threshold[1])),编译报错。此处应该需要将void强转为float*。
build完成,并导出apk,放到模拟器上安装成功,但是双击就闪退
能编译运行,但是在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
hi moli232777144,
我将你提供的模型和代码移植到ios端,测试时发现在RNet时返回的secondBbox_的个数已经是0。究其原因是在PNet()后返回的score和对应的boundingbox 和 windows的不一样。导致nms后的firstBbox_ 已经有问题了。请帮忙分析下原因,谢谢!
看网上的资料说 int8 量化后可以减少模型体积,同时提高运算速度。
请问这个项目可以提供 int8 量化的模型吗?
很多平台,2个线程会略微好一些,更多线程反而引入一些cpu对线程管理的问题,最后反而速度更慢。(使用openmp)
但是看您的数据,多线程下,加速非常明显,请问是如何实现的?
自己用caffe 训练的mtcnn ,在caffe 上能正常使用,转为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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.