mobilefacenet_android icon indicating copy to clipboard operation
mobilefacenet_android copied to clipboard

win7+android+studio 编译问题咨询

Open xiangdeyizhang opened this issue 7 years ago • 8 comments

../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):D:/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):D:/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):D:/ncnn/src/net.cpp:function ncnn::Net::~Net(): error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'

你好,作者,我在windows上用AS直接打开你的工程编译,现在有如下错误,这个是因为你的libncnn的路径是用这个编译的吗?

xiangdeyizhang avatar Aug 28 '18 10:08 xiangdeyizhang

same question.

../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):D:/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):D:/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):D:/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):D:/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):D:/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):D:/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):D:/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_M_destroy(std::a

iscas-lee avatar Dec 06 '18 10:12 iscas-lee

same question.

../../../../src/main/jniLibs/armeabi-v7a/libncnn.a(net.cpp.o):D:/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):D:/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):D:/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):D:/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):D:/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):D:/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):D:/ncnn/src/net.cpp:function ncnn::Net::load_param(__sFILE*): error: undefined reference to 'std::string::_Rep::_M_destroy(std::a

guanbo123456 avatar Jan 30 '19 02:01 guanbo123456

I have solved it! I rebuild the lib in my own computer.

Augnine avatar Mar 07 '19 06:03 Augnine

@zchfaq hi can i question how you can rebuild?

saeedkhanehgir avatar Aug 10 '20 13:08 saeedkhanehgir

@zchfaq rebuild libncnn.a ? or use again bazel build -c opt --cxxopt='--std=c++11' --fat_apk_cpu=x86,x86_64,arm64-v8a,armeabi-v7a
//tensorflow/contrib/lite/examples/android:tflite_demo with your own ndk and sdk api level?

saeedkhanehgir avatar Aug 10 '20 13:08 saeedkhanehgir

I have solved it! I rebuild the lib in my own computer.

你能分享一下 是怎么编译的嘛?

zlszhonglongshen avatar Aug 31 '20 12:08 zlszhonglongshen

@saeedkhanehgir @zlszhonglongshen It has been a long time and I forget it, I am very sorry!

Augnine avatar Sep 01 '20 01:09 Augnine

无法编译,提示ncnn中的一些函数无法链接,是因为你用的NDK版本跟ncnn库编译时用的NDK版本不一致,建议r16b的NDK,我试过,跟作者提供的ncnn库匹配。 另外还要注意,如果你是用android 10测试,会存在读取不到模型文件的问题,那是因为Android Q文件存储机制修改成了沙盒模式,操作拍照,或者上传,报错,打日志,获取相片的路径为空,解决办法: 在AndroidManifest.xml 里的application中添加 android:requestLegacyExternalStorage=“true” 临时解决。可以兼容到Android 11。或者targetsdk 降低到29以下。参见:https://blog.csdn.net/yhx956058885/article/details/107359184/

ZivenMan avatar Jan 16 '21 08:01 ZivenMan