cmdbug / YOLOv5_NCNN

🍅 Deploy ncnn on mobile phones. Support Android and iOS. 移动端ncnn部署,支持Android与iOS。
GNU General Public License v3.0
1.46k stars 297 forks source link

关于yolov5-customLayer #36

Closed Wangbenzhi closed 3 years ago

Wangbenzhi commented 3 years ago

请问up主可以上传一份关于yolov5-CustomLayer编译的ncnn库吗?我这里一直弄不好,非常感谢您!!

cmdbug commented 3 years ago

自己先看ncnn的wiki编译方法,会编译了再加那2个参数。实在不行再留个邮箱。

Wangbenzhi commented 3 years ago

自己先看ncnn的wiki编译方法,会编译了再加那2个参数。实在不行再留个邮箱。

您好!我之前就是按照wiki进行编译,不过在运行时会出现ld: error: undefined symbol: ncnn::Extractor::extract(char const*, ncnn::Mat&)错误,如果您方便的话还请发给我一份您编译的库文件,万分感谢!!! 我的邮箱:735262017@qq.com

cmdbug commented 3 years ago

发了

Wangbenzhi commented 3 years ago

发了

感谢大神!!!

Wangbenzhi commented 3 years ago

发了

您好,我用您给的库运行之后还是有一样的问题(最新的代码),请问是代码里有需要更改的地方吗? 这是错误信息: [18/18] Linking CXX shared library libyolov5.so FAILED: libyolov5.so cmd.exe /C "cd . && E:\AndroidStudio\SDK\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi24 --gcc-toolchain=E:/AndroidStudio/SDK/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=E:/AndroidStudio/SDK/ndk-bundle/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 -fopenmp -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libatomic.a -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--fatal-warnings -Wl,--exclude-libs,libunwind.a -Wl,--no-undefined -Qunused-arguments -static-openmp -shared -Wl,-soname,libyolov5.so -o libyolov5.so CMakeFiles/yolov5.dir/DBFace.cpp.o CMakeFiles/yolov5.dir/ENet.cpp.o CMakeFiles/yolov5.dir/FaceLandmark.cpp.o CMakeFiles/yolov5.dir/MbnFCN.cpp.o CMakeFiles/yolov5.dir/MobileNetV3Seg.cpp.o CMakeFiles/yolov5.dir/NanoDet.cpp.o CMakeFiles/yolov5.dir/SimplePose.cpp.o CMakeFiles/yolov5.dir/Yolact.cpp.o CMakeFiles/yolov5.dir/YoloV4.cpp.o CMakeFiles/yolov5.dir/YoloV5.cpp.o CMakeFiles/yolov5.dir/YoloV5CustomLayer.cpp.o CMakeFiles/yolov5.dir/jni_interface.cpp.o CMakeFiles/yolov5.dir/ocr/NCNNDBNet.cpp.o CMakeFiles/yolov5.dir/ocr/RRLib.cpp.o CMakeFiles/yolov5.dir/ocr/ZUtil.cpp.o CMakeFiles/yolov5.dir/ocr/clipper.cpp.o CMakeFiles/yolov5.dir/ocr/ocr.cpp.o -llog -lvulkan -landroid -ljnigraphics C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp/opencv/armeabi-v7a/libopencv_java4.so -llog -lvulkan -landroid -ljnigraphics C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp/ncnnvulkan/armeabi-v7a/libncnn.a C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp/ncnnvulkan/armeabi-v7a/libglslang.a C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp/ncnnvulkan/armeabi-v7a/libSPIRV.a C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp/ncnnvulkan/armeabi-v7a/libOGLCompiler.a C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp/ncnnvulkan/armeabi-v7a/libOSDependent.a -latomic -lm && cd ." ld: error: undefined symbol: ncnn::Extractor::extract(char const*, ncnn::Mat&)

referenced by DBFace.cpp:53 (C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp\DBFace.cpp:53) CMakeFiles/yolov5.dir/DBFace.cpp.o:(DBFace::detect(_JNIEnv, _jobject, double, double)) referenced by DBFace.cpp:54 (C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp\DBFace.cpp:54) CMakeFiles/yolov5.dir/DBFace.cpp.o:(DBFace::detect(_JNIEnv, _jobject, double, double)) referenced by DBFace.cpp:55 (C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp\DBFace.cpp:55) CMakeFiles/yolov5.dir/DBFace.cpp.o:(DBFace::detect(_JNIEnv, _jobject, double, double)) referenced 22 more times did you mean: ncnn::Extractor::extract(char const*, ncnn::Mat&, int) defined in: C:/Users/lenovo/Desktop/YOLOv5_NCNN-master/YOLOv5_NCNN-master/android_YOLOV5_NCNN/app/src/main/cpp/ncnnvulkan/armeabi-v7a/libncnn.a(net.cpp.o) clang++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed.

cmdbug commented 3 years ago

清清缓存试试

cmdbug commented 3 years ago

ndk装了没

Wangbenzhi commented 3 years ago

ndk装了没

ndk装了,用您上传到hub上的ncnn库运行没问题,但用重新编译的ncnn会报错,缓存清除之后还是这个错误

Wangbenzhi commented 3 years ago

QQ图片20210116143057

cmdbug commented 3 years ago

感觉还是缓存啥的导致的,,QAQ

zdxiang commented 3 years ago

我也是这个问题,清空缓存重启后也没用。根本不是缓存问题。

Whu-wxy commented 2 years ago

编译后同样的问题,没办法,先用其他的了