Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make cifar.cifar 和 make yolov3-tiny.coco失败 #6

Closed
globalmaster opened this issue Dec 21, 2018 · 6 comments
Closed

make cifar.cifar 和 make yolov3-tiny.coco失败 #6

globalmaster opened this issue Dec 21, 2018 · 6 comments

Comments

@globalmaster
Copy link

你好,我在ubuntu16.04上运行readme的第10条:make cifar.cifar 时报错:make: *** No rule to make target 'cifar.cifar'. Stop. 在运行第11条时也遇到同样的问题:make: *** No rule to make target 'cifar.cifar'. Stop. 请问这是什么情况?谢谢!

@globalmaster
Copy link
Author

对不起,我看错了,应该在example文件夹中make

@xiangweizeng
Copy link
Owner

没关系,能正常运行吧, 运行环境不一样可能会出现各种问题

@globalmaster
Copy link
Author

没关系,能正常运行吧, 运行环境不一样可能会出现各种问题

可以正常运行,谢谢!

@globalmaster
Copy link
Author

你好,我想再请教一个问题。我现在已经知道了编译example文件夹中的yolov2.cpp时需要包含的头文件和链接的库,直接在命令行运行的话应该是这样:g++ -o yolo yolov2.cpp pkg-config --cflags --libs opencv -I ../include -I ../ncnn/src/ -I ../ncnn/build/install/include/ -L .. -L ../ncnn/build/install/lib/ -ldarknet2ncnn -lncnn -lm -pthread -fopenmp。现在我想在Android Studio中调用yolov2.cpp,运行其中的函数进行目标检测,我已經包含了对应的头文件,请问该如何链接两个库?

报错如下:
[47/47] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so
FAILED: : && /home/jack/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ --sysroot=/home/jack/Android/Sdk/ndk-bundle/sysroot -fPIC -isystem /home/jack/Android/Sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=19 -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 -frtti -fexceptions -fopenmp -DOMP_NUM_THREADS=8 -Wall -Wno-unknown-pragmas -Wfatal-errors -fPIC -O3 -fstrict-aliasing -fprefetch-loop-arrays -fopenmp -fexceptions -Dlinux -fsigned-char -Os -DNDEBUG -Wl,--exclude-libs,libgcc.a --sysroot /home/jack/Android/Sdk/ndk-bundle/platforms/android-19/arch-arm -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/activation_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/activations.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/avgpool_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/batchnorm_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/blas.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/box.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/col2im.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/connected_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/convolutional_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/cost_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/crnn_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/crop_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/cuda.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/data.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/deconvolutional_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/demo.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/detection_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/dropout_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/gemm.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/gru_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/im2col.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/image.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/iseg_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/l2norm_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/list.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/local_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/logistic_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/lstm_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/matrix.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/maxpool_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/network.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/normalization_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/option_list.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/parser.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/region_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/reorg_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/rnn_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/route_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/shortcut_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/softmax_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/tree.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/upsample_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/utils.c.o CMakeFiles/native-lib.dir/src/main/cpp/darknet/src/yolo_layer.c.o CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o -L/media/jack/code/androidstudio/YoloOnLine/app/src/main/cpp ../../../../src/main/jniLibs/armeabi-v7a/libopencv_java3.so -Wl,-Bstatic -lncnn -Wl,-Bdynamic -ljnigraphics -lgomp /home/jack/Android/Sdk/ndk-bundle/platforms/android-19/arch-arm/usr/lib/liblog.so -lm "/home/jack/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/libgnustl_static.a" && :
/home/jack/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /media/jack/code/androidstudio/YoloOnLine/app/src/main/cpp/libncnn.a while searching for ncnn
/home/jack/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lncnn
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Net::Net()'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'register_darknet_layer(ncnn::Net&)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Net::load_param(char const*)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Net::load_model(char const*)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Net::find_layer_index_by_name(char const*) const'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Mat::from_pixels(unsigned char const*, int, int, int, ncnn::Allocator*)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Mat::substract_mean_normalize(float const*, float const*)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Net::create_extractor() const'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Extractor::input(char const*, ncnn::Mat const&)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Extractor::set_light_mode(bool)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Extractor::set_num_threads(int)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Extractor::extract(char const*, ncnn::Mat&)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Net::~Net()'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o:native-lib.cpp:function Java_ch_hepia_iti_opencvnativeandroidstudio_MainActivity_YoloOnLine: error: undefined reference to 'ncnn::Net::~Net()'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

@xiangweizeng
Copy link
Owner

你需要先编译好libdarknet2ncnn.a 及libncnn.a, 然后才能进行连接, ncnn在android上的编译可以查看官方说明, 至于libdarknet2ncnn.a 你可以将相关的源文件全部放入项目中直接编译即可, 不单独编译为libdarknet2ncnn.a

@globalmaster
Copy link
Author

嗯好,我已經解决了,谢谢你

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants