How do I support c++11 in Opencv 3 Android NDK -


can me, please?

i doing next changes support c++11 opencv 3 in android ndk:

i change app_stl := gnustl_static app_stl := c++_static

application.mk

app_stl := c++_static app_cppflags := -std=c++11 -frtti -fexceptions app_abi :=  armeabi armeabi-v7a mips x86 arm64-v8a x86_64 mips64 app_platform := android-14 # use select gcc instead of clang ndk_toolchain_version := 4.9 

android.mk

local_path := $(call my-dir) local_path_lib_dir:=library/lib/classifier    include $(clear_vars)   opencv_camera_modules:=off opencv_install_modules:=on  opencv_lib_type:=shared include ../../../opencv-android-sdk/sdk/native/jni/opencv.mk  local_module:= detection_based_tracker  local_src_files := detectionbasedtracker_jni.cpp \                               library/jniutils.cpp \                              ${ local_path_lib_dir}/logic.cpp \                              ${ local_path_lib_dir}/logic2.cpp \  local_c_includes += $(local_path)  local_ldlibs     += -llog -ldl -lm -latomic -l$(local_path)/libs/armeabi                             - l$(local_path)/libs/armeabi-v7a  -l$(local_path)/libs/mips                             -l$(local_path)/libs/x86  -l$(local_path)/libs/arm64-v8a                             -l$(local_path)/libs/mips64                            -l$(local_path)/libs/x86_64  local_cppflags += -ljnigraphics -d_linux  -dboost_has_pthreads -fexceptions -std=c++11                                   -i$(local_path)/  -i$(local_path)/library/lib/pico/ local_cpp_features :=  exceptions rtti app_optim := debug include $(build_shared_library) 

when compile android app android ndk r10e. have next errores in log:

' [armeabi-v7a] sharedlibrary : libdetection_based_tracker.so /android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++ -wl,-soname,libdetection_based_tracker.so -shared --sysroot=/android/sdk/ndk-bundle/platforms/android-8/arch-arm ./obj/local/armeabi-v7a/objs/detection_based_tracker/detectionbasedtracker_jni.o ./obj/local/armeabi-v7a/objs/detection_based_tracker/detection-manager/jniutils.o ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/liblibpng.a ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/liblibtiff.a ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/liblibjasper.a ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libilmimf.a ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a /android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_static.a -lgcc -no-canonical-prefixes -march=armv7-a -wl,--fix-cortex-a8 -wl,--no-undefined -wl,-z,noexecstack -wl,-z,relro -wl,-z,now -l/android/sdk/ndk-bundle/platforms/android-8/arch-arm/usr/lib -lz -ldl -lm -llog -llog -ldl -lm -latomic -ljni/libs/armeabi -ljni/libs/armeabi-v7a -ljni/libs/mips -ljni/libs/x86 -ljni/libs/arm64-v8a -ljni/libs/mips64 -ljni/libs/x86_64 -lc -lm -o ./obj/local/armeabi-v7a/libdetection_based_tracker.so jni/detection-manager/lib/pico/uniqueness2.cpp:240: error: undefined reference 'cv::descriptormatcher::match(cv::_inputarray const&, cv::_inputarray const&, std::__1::vector >&, cv::_inputarray const&) const' jni/detection-manager/lib/pico/motiondetector.cpp:77: error: undefined reference 'cv::subdiv2d::insert(std::__1::vector, std::__1::allocator > > const&)' jni/detection-manager/lib/counting-blobs/jniutils.cpp:995: error: undefined reference 'cv::imwrite(cv::string const&, cv::_inputarray const&, std::__1::vector > const&)' jni/detection-manager/lib/counting-blobs/jniutils.cpp:996: error: undefined reference 'cv::imwrite(cv::string const&, cv::_inputarray const&, std::__1::vector > const&)' jni/detection-manager/lib/counting-blobs/jniutils.cpp:1004: error: undefined reference 'cv::imwrite(cv::string const&, cv::_inputarray const&, std::__1::vector > const&)' jni/detection-manager/lib/counting-blobs/jniutils.cpp:1005: error: undefined reference 'cv::imwrite(cv::string const&, cv::_inputarray const&, std::__1::vector > const&)' jni/detection-manager/lib/counting-blobs/jniutils.cpp:1153: error: undefined reference 'cv::descriptormatcher::knnmatch(cv::_inputarray const&, cv::_inputarray const&, std::__1::vector >, std::__1::allocator > > >&, int, cv::_inputarray const&, bool) const' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_objdetect.a(cascadedetect.cpp.o):cascadedetect.cpp:function cv::lbpevaluator::setwindow(cv::point_, int): error: undefined reference 'std::__throw_out_of_range(char const*)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_objdetect.a(cascadedetect.cpp.o):cascadedetect.cpp:function cv::haarevaluator::setwindow(cv::point_, int): error: undefined reference 'std::__throw_out_of_range(char const*)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_objdetect.a(cascadedetect.cpp.o):cascadedetect.cpp:function cv::haarevaluator::computechannels(int, cv::_inputarray const&): error: undefined reference 'std::__throw_out_of_range(char const*)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_objdetect.a(cascadedetect.cpp.o):cascadedetect.cpp:function cv::lbpevaluator::computechannels(int, cv::_inputarray const&): error: undefined reference 'std::__throw_out_of_range(char const*)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_objdetect.a(cascadedetect.cpp.o):cascadedetect.cpp:function std::vector >::resize(unsigned int, int): error: undefined reference 'std::__throw_length_error(char const*)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_objdetect.a(cascadedetect.cpp.o):cascadedetect.cpp:function std::vector >::resize(unsigned int, double): error: undefined reference 'std::__throw_length_error(char const*)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_objdetect.a(cascadedetect.cpp.o):cascadedetect.cpp:function std::vector >::reserve(unsigned int): error: undefined reference 'std::__throw_length_error(char const*)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_objdetect.a(cascadedetect.cpp.o):cascadedetect.cpp:function std::vector

::reserve(unsigned int): error: undefined reference 'std::__throw_length_error(char const*)'

../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_flann.a(miniflann.cpp.o):miniflann.cpp:function cvflann::lshindex >::getneighbors(float const*, cvflann::resultset&): error: undefined reference 'std::__throw_bad_cast()' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_flann.a(miniflann.cpp.o):miniflann.cpp:function cvflann::lshindex >::getneighbors(float const*, cvflann::resultset&): error: undefined reference 'std::cerr' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_flann.a(miniflann.cpp.o):miniflann.cpp:function std::_rb_tree > >, std::_select1st > > >, std::less, std::allocator > > >

::_m_insert_unique_(std::_rb_tree_const_iterator > > , std::pair > > const&): error: undefined reference 'std::_rb_tree_increment(std::_rb_tree_node_base*)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_flann.a(miniflann.cpp.o):miniflann.cpp:function cvflann::autotunedindex >::buildindex(): error: undefined reference 'std::basic_ostringstream, std::allocator ::basic_ostringstream(std::_ios_openmode)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_flann.a(miniflann.cpp.o):miniflann.cpp:function cvflann::autotunedindex >::buildindex(): error: undefined reference 'std::basic_stringbuf, std::allocator >::str() const' . /android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: vtable symbol may undefined because class missing key function ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_flann.a(miniflann.cpp.o):miniflann.cpp:function cvflann::autotunedindex >::buildindex(): error: undefined reference 'vtable std::basic_stringbuf, std::allocator >'

/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: vtable symbol may undefined because class missing key function ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function std::basic_stringbuf, std::allocator >::~basic_stringbuf(): error: undefined reference 'vtable std::basic_streambuf >' /android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: vtable symbol may undefined because class missing key function ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function std::basic_stringbuf, std::allocator >::~basic_stringbuf(): error: undefined reference 'std::locale::~locale()' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function std::basic_stringbuf, std::allocator >::~basic_stringbuf(): error: undefined reference 'std::string::_rep::_s_empty_rep_storage' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function std::basic_stringbuf, std::allocator >::~basic_stringbuf(): error: undefined reference 'vtable std::basic_stringbuf, std::allocator >' /android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: vtable symbol may undefined because class missing key function ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function std::basic_stringbuf, std::allocator >::~basic_stringbuf(): error: undefined reference 'vtable std::basic_streambuf >' /android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: vtable symbol may undefined because class missing key function ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function std::string cv::ocl::kertostr(cv::mat const&): error: undefined reference 'std::basic_ostringstream, std::allocator >::basic_ostringstream(std::_ios_openmode)' .

../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::find(char const*, unsigned int, unsigned int) const' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::_m_leak_hard()' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::basic_string, std::allocator

::basic_string(char const*, std::allocator const&)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::basic_string, std::allocator ::basic_string(char const*, std::allocator const&)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::basic_string, std::allocator ::basic_string(char const*, std::allocator const&)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::_m_leak_hard()' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::_m_leak_hard()' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::_m_leak_hard()' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::compare(char const*) const' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::compare(char const*) const' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::compare(char const*) const' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::find(char const*, unsigned int, unsigned int) const' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::compare(char const*) const' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::basic_ostream >& std::endl >(std::basic_ostream >&)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::basic_ostream >& std::endl >(std::basic_ostream >&)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::basic_ostream >& std::endl >(std::basic_ostream >&)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::basic_ostream >& std::endl >(std::basic_ostream >&)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::assign(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::context::impl::setdefault(): error: undefined reference 'std::string::assign(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../libs/armeabi-v7a/libopencv_core.a(ocl.cpp.o):ocl.cpp:function cv::ocl::openclbufferpoolimpl::_allocatebufferentry(cv::ocl::clbufferentry&, unsigned int): error: undefined reference 'std::__detail::_list_node_base::_m_hook(std::__detail::_list_node_base*)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libilmimf.a(half.cpp.o):half.cpp:function operator>>(std::istream&, half&): error: undefined reference 'std::istream& std::istream::_m_extract(float&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libilmimf.a(imfchannellist.cpp.o):imfchannellist.cpp:function imf::channellist::operator[](char const*): error: undefined reference 'std::basic_stringstream, std::allocator >::basic_stringstream(std::_ios_openmode)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libilmimf.a(imfchannellist.cpp.o):imfchannellist.cpp:function imf::channellist::operator[](char const*): error: undefined reference 'std::basic_stringstream, std::allocator >::~basic_stringstream()' . ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::out_of_range::out_of_range(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::range_error::range_error(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::range_error::range_error(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::runtime_error::runtime_error(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::runtime_error::runtime_error(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::out_of_range::out_of_range(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::out_of_range::out_of_range(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::invalid_argument::invalid_argument(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::length_error::length_error(std::string const&)' ../../../opencv-android-sdk/sdk/native/jni/../3rdparty/libs/armeabi-v7a/libtbb.a(tbb_misc.cpp.o):tbb_misc.cpp:function tbb::internal::throw_exception_v4(tbb::internal::exception_id): error: undefined reference 'std::out_of_range::out_of_range(std::string const&)' collect2: error: ld returned 1 exit status make: *** [obj/local/armeabi-v7a/libdetection_based_tracker.so] error 1


Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -