按照cmake 打包 android sdk一问的说明,结果如下,并且在cmake的时候出现的大量的warning,最后只生成了.a 文件,没有.so文件,请教各位
➜ build-android git:(master) ✗ make
Scanning dependencies of target ncnn
[ 1%] Building CXX object src/CMakeFiles/ncnn.dir/blob.cpp.o
[ 3%] Building CXX object src/CMakeFiles/ncnn.dir/cpu.cpp.o
[ 5%] Building CXX object src/CMakeFiles/ncnn.dir/layer.cpp.o
[ 7%] Building CXX object src/CMakeFiles/ncnn.dir/mat.cpp.o
[ 9%] Building CXX object src/CMakeFiles/ncnn.dir/mat_pixel.cpp.o
[ 11%] Building CXX object src/CMakeFiles/ncnn.dir/net.cpp.o
[ 13%] Building CXX object src/CMakeFiles/ncnn.dir/opencv.cpp.o
[ 15%] Building CXX object src/CMakeFiles/ncnn.dir/layer/absval.cpp.o
[ 17%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/absval_arm.cpp.o
[ 19%] Building CXX object src/CMakeFiles/ncnn.dir/layer/batchnorm.cpp.o
[ 21%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/batchnorm_arm.cpp.o
[ 23%] Building CXX object src/CMakeFiles/ncnn.dir/layer/bias.cpp.o
[ 25%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/bias_arm.cpp.o
[ 26%] Building CXX object src/CMakeFiles/ncnn.dir/layer/bnll.cpp.o
[ 28%] Building CXX object src/CMakeFiles/ncnn.dir/layer/concat.cpp.o
[ 30%] Building CXX object src/CMakeFiles/ncnn.dir/layer/convolution.cpp.o
[ 32%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/convolution_arm.cpp.o
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_arm.cpp:19:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_1x1.h: In function 'void ncnn::conv1x1s1_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_1x1.h:21:9: warning: unused variable 'w' [-Wunused-variable]
int w = bottom_blob.w;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_1x1.h:22:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_1x1.h: In function 'void ncnn::conv1x1s2_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_1x1.h:271:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_arm.cpp:20:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_2x2.h: In function 'void ncnn::conv2x2s1_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_2x2.h:22:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_arm.cpp:21:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_3x3.h: In function 'void ncnn::conv3x3s1_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_3x3.h:55:26: warning: unused variable 'k0' [-Wunused-variable]
const float* k0 = kernel0;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_3x3.h:56:26: warning: unused variable 'k1' [-Wunused-variable]
const float* k1 = kernel0 + 3;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_3x3.h:57:26: warning: unused variable 'k2' [-Wunused-variable]
const float* k2 = kernel0 + 6;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_3x3.h:22:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_3x3.h: In function 'void ncnn::conv3x3s2_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_3x3.h:550:20: warning: unused variable 'outptr2' [-Wunused-variable]
float* outptr2 = outptr + outw;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_3x3.h:524:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_arm.cpp:22:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_4x4.h: In function 'void ncnn::conv4x4s4_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_4x4.h:22:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_arm.cpp:23:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_5x5.h: In function 'void ncnn::conv5x5s1_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_5x5.h:22:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_5x5.h: In function 'void ncnn::conv5x5s2_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_5x5.h:862:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_arm.cpp:24:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_7x7.h: In function 'void ncnn::conv7x7s1_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_7x7.h:44:20: warning: unused variable 'outptr2' [-Wunused-variable]
float* outptr2 = out + outw;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_7x7.h:57:26: warning: unused variable 'r7' [-Wunused-variable]
const float* r7 = img0 + w7;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_7x7.h:22:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_arm.cpp:24:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_7x7.h: In function 'void ncnn::conv7x7s2_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_7x7.h:571:20: warning: unused variable 'outptr2' [-Wunused-variable]
float outptr2 = out + outw;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_7x7.h:547:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_arm.cpp: In member function 'virtual int ncnn::Convolution_arm::forward(const ncnn::Mat&, ncnn::Mat&) const':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/convolution_arm.cpp:95:9: warning: unused variable 'channels' [-Wunused-variable]
int channels = bottom_blob.c;
^
[ 34%] Building CXX object src/CMakeFiles/ncnn.dir/layer/crop.cpp.o
[ 36%] Building CXX object src/CMakeFiles/ncnn.dir/layer/deconvolution.cpp.o
[ 38%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/deconvolution_arm.cpp.o
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/deconvolution_arm.cpp:19:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/deconvolution_3x3.h: In function 'void ncnn::deconv3x3s1_neon(const ncnn::Mat&, ncnn::Mat&, const ncnn::Mat&, const ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/deconvolution_3x3.h:26:9: warning: unused variable 'outh' [-Wunused-variable]
int outh = top_blob.h;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/deconvolution_arm.cpp: In member function 'virtual int ncnn::Deconvolution_arm::forward(const ncnn::Mat&, ncnn::Mat&) const':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/deconvolution_arm.cpp:36:9: warning: unused variable 'channels' [-Wunused-variable]
int channels = bottom_blob.c;
^
[ 40%] Building CXX object src/CMakeFiles/ncnn.dir/layer/dropout.cpp.o
[ 42%] Building CXX object src/CMakeFiles/ncnn.dir/layer/eltwise.cpp.o
[ 44%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/eltwise_arm.cpp.o
[ 46%] Building CXX object src/CMakeFiles/ncnn.dir/layer/elu.cpp.o
[ 48%] Building CXX object src/CMakeFiles/ncnn.dir/layer/exp.cpp.o
[ 50%] Building CXX object src/CMakeFiles/ncnn.dir/layer/flatten.cpp.o
[ 51%] Building CXX object src/CMakeFiles/ncnn.dir/layer/innerproduct.cpp.o
[ 53%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/innerproduct_arm.cpp.o
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/innerproduct_arm.cpp: In member function 'virtual int ncnn::InnerProduct_arm::forward(const ncnn::Mat&, ncnn::Mat&) const':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/innerproduct_arm.cpp:48:22: warning: unused variable 'w2' [-Wunused-variable]
const float* w2 = w + size;
^
[ 55%] Building CXX object src/CMakeFiles/ncnn.dir/layer/input.cpp.o
[ 57%] Building CXX object src/CMakeFiles/ncnn.dir/layer/log.cpp.o
[ 59%] Building CXX object src/CMakeFiles/ncnn.dir/layer/lrn.cpp.o
[ 61%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/lrn_arm.cpp.o
[ 63%] Building CXX object src/CMakeFiles/ncnn.dir/layer/mvn.cpp.o
[ 65%] Building CXX object src/CMakeFiles/ncnn.dir/layer/pooling.cpp.o
[ 67%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/pooling_arm.cpp.o
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/pooling_arm.cpp:19:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/pooling_2x2.h: In function 'void ncnn::pooling2x2s2_max_neon(const ncnn::Mat&, ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/pooling_2x2.h:22:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/pooling_2x2.h:27:9: warning: unused variable 'outch' [-Wunused-variable]
int outch = top_blob.c;
^
In file included from /Users/yangguangdejianjian/code/ncnn/src/layer/arm/pooling_arm.cpp:20:0:
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/pooling_3x3.h: In function 'void ncnn::pooling3x3s2_max_neon(const ncnn::Mat&, ncnn::Mat&)':
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/pooling_3x3.h:22:9: warning: unused variable 'h' [-Wunused-variable]
int h = bottom_blob.h;
^
/Users/yangguangdejianjian/code/ncnn/src/layer/arm/pooling_3x3.h:27:9: warning: unused variable 'outch' [-Wunused-variable]
int outch = top_blob.c;
^
[ 69%] Building CXX object src/CMakeFiles/ncnn.dir/layer/power.cpp.o
[ 71%] Building CXX object src/CMakeFiles/ncnn.dir/layer/prelu.cpp.o
[ 73%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/prelu_arm.cpp.o
[ 75%] Building CXX object src/CMakeFiles/ncnn.dir/layer/relu.cpp.o
[ 76%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/relu_arm.cpp.o
[ 78%] Building CXX object src/CMakeFiles/ncnn.dir/layer/scale.cpp.o
[ 80%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/scale_arm.cpp.o
[ 82%] Building CXX object src/CMakeFiles/ncnn.dir/layer/sigmoid.cpp.o
[ 84%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/sigmoid_arm.cpp.o
[ 86%] Building CXX object src/CMakeFiles/ncnn.dir/layer/slice.cpp.o
[ 88%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/slice_arm.cpp.o
[ 90%] Building CXX object src/CMakeFiles/ncnn.dir/layer/softmax.cpp.o
[ 92%] Building CXX object src/CMakeFiles/ncnn.dir/layer/arm/softmax_arm.cpp.o
[ 94%] Building CXX object src/CMakeFiles/ncnn.dir/layer/split.cpp.o
[ 96%] Building CXX object src/CMakeFiles/ncnn.dir/layer/tanh.cpp.o
[ 98%] Building CXX object src/CMakeFiles/ncnn.dir/layer/threshold.cpp.o
[100%] Linking CXX static library ../libs/armeabi-v7a/libncnn.a
[100%] Built target ncnn
➜ build-android git:(master) ✗ make install
[100%] Built target ncnn
Install the project...
-- Install configuration: "release"
-- Installing: /Users/yangguangdejianjian/code/ncnn/build-android/install/lib/libncnn.a
-- Installing: /Users/yangguangdejianjian/code/ncnn/build-android/install/include/blob.h
-- Installing: /Users/yangguangdejianjian/code/ncnn/build-android/install/include/cpu.h
-- Installing: /Users/yangguangdejianjian/code/ncnn/build-android/install/include/layer.h
-- Installing: /Users/yangguangdejianjian/code/ncnn/build-android/install/include/mat.h
-- Installing: /Users/yangguangdejianjian/code/ncnn/build-android/install/include/net.h
-- Installing: /Users/yangguangdejianjian/code/ncnn/build-android/install/include/opencv.h
-- Installing: /Users/yangguangdejianjian/code/ncnn/build-android/install/include/platform.h
➜ build-android git:(master) ✗ make package
make: * No rule to make target `package'. Stop.
主项目生成的是 libncnn.a
so 文件是用 examples 的 squeezencnn/jni 里的代码生成的,手工修改 Android.mk 里的 libncnn.a 路径,ndk-build
@nihui 请教大牛
使用gcc4.9.4时, 检测openmp成功了,为什么Could NOT find OpenMP?",
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Could NOT find OpenMP (missing: OpenMP_C_FLAGS OpenMP_CXX_FLAGS)
Most helpful comment
主项目生成的是 libncnn.a
so 文件是用 examples 的 squeezencnn/jni 里的代码生成的,手工修改 Android.mk 里的 libncnn.a 路径,ndk-build