Ceres library compile error in Android Studio 3.xx

1,299 views
Skip to first unread message

Hassaan Rauf

unread,
Sep 7, 2018, 8:30:37 AM9/7/18
to Ceres Solver


Hi,

I am a complete beginner to this so my problem is quite basic. I have the task to include ceres library in a android c++ project and then run the helloworld code through jni.
Any help or guidance would be highly appreciated!
I have tried the following:
a) compiling the ceres library through cmake in linux and then include the library "libceres.so" in jniLibs and including the helloworld code in native-lib.cpp and calling it from main activity. I checked in terminal and it works fine but not in android. The project syncs fine but when i build, it gives the following error:

Build command failed.
Error while executing process /home/rauf/Android/Sdk/cmake/3.6.4111459/bin/cmake with arguments {--build /home/rauf/AndroidStudioProjects/ceres4/app/.externalNativeBuild/cmake/debug/arm64-v8a --target native-lib}
[1/1] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libnative-lib.so
FAILED: : && /home/rauf/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++  --target=aarch64-none-linux-android --gcc-toolchain=/home/rauf/Android/Sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 --sysroot=/home/rauf/Android/Sdk/ndk-bundle/sysroot -fPIC -isystem /home/rauf/Android/Sdk/ndk-bundle/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -std=c++11 -frtti -fexceptions -O0 -fno-limit-debug-info  -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot /home/rauf/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm64 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -L/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o  /home/rauf/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm64/usr/lib/liblog.so ../../../../src/main/jniLibs/libceres.so -latomic -lm "/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a" "/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a" && :
../../../../src/main/jniLibs/libceres.so: error adding symbols: File in wrong format
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.


b) if I use ndk-build to make the library with options CERES_NO_THREADS and make a static library and include in the similar way then this error shows :

Build command failed.
Error while executing process /home/rauf/Android/Sdk/cmake/3.6.4111459/bin/cmake with arguments {--build /home/rauf/AndroidStudioProjects/ceres3/app/.externalNativeBuild/cmake/debug/arm64-v8a --target native-lib}
[1/1] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libnative-lib.so
FAILED: : && /home/rauf/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++  --target=aarch64-none-linux-android --gcc-toolchain=/home/rauf/Android/Sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 --sysroot=/home/rauf/Android/Sdk/ndk-bundle/sysroot -fPIC -isystem /home/rauf/Android/Sdk/ndk-bundle/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -std=c++11 -frtti -fexceptions -O0 -fno-limit-debug-info  -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot /home/rauf/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm64 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -L/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ../../../../build/intermediates/cmake/debug/obj/arm64-v8a/libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o  /home/rauf/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm64/usr/lib/liblog.so ../../../../src/main/jniLibs/arm64-v8a/libceres.a -latomic -lm "/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a" "/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a" && :
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `Java_com_example_rauf_ceres4_MainActivity_stringFromJNI':
/home/rauf/AndroidStudioProjects/ceres3/app/src/main/cpp/native-lib.cpp:26: undefined reference to `google::InitGoogleLogging(char const*)'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `AutoDiffCostFunction':
/home/rauf/AndroidStudioProjects/include/ceres/autodiff_cost_function.h:174: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)'
/home/rauf/AndroidStudioProjects/include/ceres/autodiff_cost_function.h:174: undefined reference to `google::LogMessage::stream()'
/home/rauf/AndroidStudioProjects/include/ceres/autodiff_cost_function.h:174: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
/home/rauf/AndroidStudioProjects/include/ceres/autodiff_cost_function.h:174: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >* google::MakeCheckOpString<int, ceres::DimensionType>(int const&, ceres::DimensionType const&, char const*)':
/home/rauf/AndroidStudioProjects/include/glog/logging.h:669: undefined reference to `google::base::CheckOpMessageBuilder::CheckOpMessageBuilder(char const*)'
/home/rauf/AndroidStudioProjects/include/glog/logging.h:671: undefined reference to `google::base::CheckOpMessageBuilder::ForVar2()'
/home/rauf/AndroidStudioProjects/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
/home/rauf/AndroidStudioProjects/include/glog/logging.h:673: undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()'
/home/rauf/AndroidStudioProjects/include/glog/logging.h:673: undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `ceres::internal::AutoDiff<CostFunctor, double, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate(CostFunctor const&, double const* const*, int, double*, double**)':
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:215: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:215: undefined reference to `google::LogMessage::stream()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:215: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:215: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `void ceres::internal::Make1stOrderPerturbation<ceres::Jet<double, 1>, double, 1>(int, double const*, ceres::Jet<double, 1>*)':
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:170: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:170: undefined reference to `google::LogMessage::stream()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:170: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:171: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:171: undefined reference to `google::LogMessage::stream()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:171: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:170: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:171: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `void ceres::internal::Take0thOrderPart<ceres::Jet<double, 1>, double*>(int, ceres::Jet<double, 1> const*, double*)':
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:183: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:183: undefined reference to `google::LogMessage::stream()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:183: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:183: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `void ceres::internal::Take1stOrderPart<ceres::Jet<double, 1>, double, 0, 1>(int, ceres::Jet<double, 1> const*, double*)':
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:193: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:193: undefined reference to `google::LogMessage::stream()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:193: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:194: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:194: undefined reference to `google::LogMessage::stream()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:194: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:193: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
/home/rauf/AndroidStudioProjects/include/ceres/internal/autodiff.h:194: undefined reference to `google::LogMessageFatal::~LogMessageFatal()'
CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o: In function `std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >* google::MakeCheckOpString<int, int>(int const&, int const&, char const*)':
/home/rauf/AndroidStudioProjects/include/glog/logging.h:669: undefined reference to `google::base::CheckOpMessageBuilder::CheckOpMessageBuilder(char const*)'
/home/rauf/AndroidStudioProjects/include/glog/logging.h:671: undefined reference to `google::base::CheckOpMessageBuilder::ForVar2()'
/home/rauf/AndroidStudioProjects/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
/home/rauf/AndroidStudioProjects/include/glog/logging.h:673: undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()'
/home/rauf/AndroidStudioProjects/include/glog/logging.h:673: undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()'
../../../../src/main/jniLibs/arm64-v8a/libceres.a(problem_impl.o): In function `ceres::internal::ProblemImpl::InternalAddParameterBlock(double*, int)':
/home/rauf/Android/ceres-solver-1.14.0/jni/../internal/ceres/problem_impl.cc:135: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

My CMAKELISTS.TXT looks like this:
# For more information about using CMake with Android Studio, read the
# documentation: https://d.android.com/studio/projects/add-native-code.html

# Sets the minimum version of CMake required to build the native library.
set(pathToProject ~/AndroidStudioProjects/ceres3)
cmake_minimum_required(VERSION 3.4.1)
include_directories(~/AndroidStudioProjects/include/
~/AndroidStudioProjects/include/eigen3)
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries, and CMake builds them for you.
# Gradle automatically packages shared libraries with your APK.

add_library( # Sets the name of the library.
native-lib

# Sets the library as a shared library.
SHARED

# Provides a relative path to your source file(s).
src/main/cpp/native-lib.cpp )

add_library (ceres-lib STATIC IMPORTED)
set_target_properties(ceres-lib PROPERTIES IMPORTED_LOCATION ${pathToProject}/app/src/main/jniLibs/${ANDROID_ABI}/libceres.a)

find_library( # Sets the name of the path variable.
log-lib
log )

target_link_libraries( # Specifies the target library.
native-lib
${log-lib}
ceres-lib)

Alex Stewart

unread,
Sep 9, 2018, 10:40:19 AM9/9/18
to ceres-...@googlegroups.com
What version of Ceres are you using?  The master branch of Ceres has a number of significant improvements for building with Android which are documented here.

In the case of 1), if you're trying to build Ceres for x86 on Linux and then link it into an Android binary things will not work.  You should instead build Ceres for Android using CMake as detailed here.

In the case of 2) (but also 1), you should not attempt to manually create an imported CMake target for Ceres.  Ceres already creates a CeresConfig.cmake which will be read by find_package(Ceres) that creates an imported target with all of the required dependencies included (including in master, the headers include directory).  See here for an example of what your CMakeLists.txt should look like.

You can specify Ceres_DIR when configuring your project with CMake if your Ceres build is in a non-standard location, which it likely is in the case of an Android build.  Finally, you can either install Ceres to a non-standard location or you can export its build directory with CMake via the EXPORT_BUILD_DIR option.

-Alex

--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/231806d8-f459-4494-b2f1-428578af791e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Hassaan Rauf

unread,
Sep 10, 2018, 8:49:10 AM9/10/18
to Ceres Solver
Thanks a lot for the answer. I did cmake build as is mentioned in the manual but when i make (sudo make install) the cmake build, it works fine upto the point when it is [ 88%] Linking CXX shared library ../../lib/libceres.so and throws errors:

/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: error: /home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so: incompatible target
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1406: error: undefined reference to '__cxa_allocate_exception'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1406: error: undefined reference to 'std::exception::~exception()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1406: error: undefined reference to '__cxa_throw'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/new:226: error: undefined reference to 'operator new(unsigned long)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/new:226: error: undefined reference to 'operator new(unsigned long)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:690: error: undefined reference to 'std::__ndk1::ios_base::init(void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/streambuf:230: error: undefined reference to 'std::__ndk1::locale::locale()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/new:234: error: undefined reference to 'operator delete(void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/new:226: error: undefined reference to 'operator new(unsigned long)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/new:234: error: undefined reference to 'operator delete(void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/new:234: error: undefined reference to 'operator delete(void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/new:234: error: undefined reference to 'operator delete(void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/streambuf:302: error: undefined reference to 'std::__ndk1::locale::~locale()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/streambuf:0: error: undefined reference to 'std::__ndk1::ios_base::~ios_base()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/new:226: error: undefined reference to 'operator new(unsigned long)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/streambuf:302: error: undefined reference to 'std::__ndk1::locale::~locale()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/iosfwd:126: error: undefined reference to 'std::__ndk1::ios_base::~ios_base()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:131: error: undefined reference to 'std::__ndk1::mutex::lock()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:375: error: undefined reference to 'std::__ndk1::condition_variable::wait(std::__ndk1::unique_lock<std::__ndk1::mutex>&)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:153: error: undefined reference to 'std::__ndk1::mutex::unlock()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:3481: error: undefined reference to 'std::__ndk1::__shared_weak_count::__release_weak()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:3481: error: undefined reference to 'std::__ndk1::__shared_weak_count::__release_weak()'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:78: error: undefined reference to 'std::__ndk1::condition_variable::~condition_variable()'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:78: error: undefined reference to 'std::__ndk1::mutex::~mutex()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1406: error: undefined reference to '__cxa_allocate_exception'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1406: error: undefined reference to 'std::exception::~exception()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1406: error: undefined reference to '__cxa_throw'
/home/rauf/Android/ceres-solver/internal/ceres/parallel_for_cxx.cc:55: error: undefined reference to 'std::__ndk1::condition_variable::~condition_variable()'
/home/rauf/Android/ceres-solver/internal/ceres/parallel_for_cxx.cc:55: error: undefined reference to 'std::__ndk1::mutex::~mutex()'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:78: error: undefined reference to 'std::__ndk1::condition_variable::~condition_variable()'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:78: error: undefined reference to 'std::__ndk1::mutex::~mutex()'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:0: error: undefined reference to 'std::__ndk1::mutex::~mutex()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:3481: error: undefined reference to 'std::__ndk1::__shared_weak_count::__release_weak()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:3481: error: undefined reference to 'std::__ndk1::__shared_weak_count::__release_weak()'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:78: error: undefined reference to 'std::__ndk1::condition_variable::~condition_variable()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:104: error: undefined reference to 'std::__ndk1::mutex::lock()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:109: error: undefined reference to 'std::__ndk1::mutex::unlock()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:104: error: undefined reference to 'std::__ndk1::mutex::lock()'
/home/rauf/Android/ceres-solver/internal/ceres/parallel_for_cxx.cc:67: error: undefined reference to 'std::__ndk1::condition_variable::notify_one()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:109: error: undefined reference to 'std::__ndk1::mutex::unlock()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:109: error: undefined reference to 'std::__ndk1::mutex::unlock()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1406: error: undefined reference to '__cxa_allocate_exception'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1406: error: undefined reference to 'std::exception::~exception()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1406: error: undefined reference to '__cxa_throw'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/string:2911: error: undefined reference to '__cxa_begin_catch'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/string:2915: error: undefined reference to '__cxa_end_catch'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:461: error: undefined reference to 'std::__ndk1::ios_base::getloc() const'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> > >::id'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:461: error: undefined reference to 'std::__ndk1::locale::~locale()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:756: error: undefined reference to 'std::__ndk1::ios_base::getloc() const'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::ctype<char>::id'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:756: error: undefined reference to 'std::__ndk1::locale::~locale()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:529: error: undefined reference to 'std::__ndk1::ios_base::clear(unsigned int)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:274: error: undefined reference to 'std::uncaught_exception()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:529: error: undefined reference to 'std::__ndk1::ios_base::clear(unsigned int)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:283: error: undefined reference to '__cxa_begin_catch'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:286: error: undefined reference to '__cxa_end_catch'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:274: error: undefined reference to 'std::uncaught_exception()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:529: error: undefined reference to 'std::__ndk1::ios_base::clear(unsigned int)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:469: error: undefined reference to '__cxa_begin_catch'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:472: error: undefined reference to 'std::__ndk1::ios_base::__set_badbit_and_consider_rethrow()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:473: error: undefined reference to '__cxa_end_catch'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:283: error: undefined reference to '__cxa_begin_catch'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:286: error: undefined reference to '__cxa_end_catch'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/iosfwd:126: error: undefined reference to 'std::__ndk1::ios_base::~ios_base()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to '__cxa_allocate_exception'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:136: error: undefined reference to 'std::logic_error::logic_error(char const*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:136: error: undefined reference to 'vtable for std::length_error'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to 'typeinfo for std::length_error'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to 'std::length_error::~length_error()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to '__cxa_throw'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to '__cxa_free_exception'
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:function __clang_call_terminate: error: undefined reference to 'std::terminate()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/istream:358: error: undefined reference to 'std::__ndk1::ios_base::~ios_base()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:146: error: undefined reference to 'std::logic_error::logic_error(char const*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:146: error: undefined reference to 'vtable for std::out_of_range'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:236: error: undefined reference to 'typeinfo for std::out_of_range'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:236: error: undefined reference to 'std::out_of_range::~out_of_range()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:236: error: undefined reference to '__cxa_free_exception'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:756: error: undefined reference to 'std::__ndk1::ios_base::getloc() const'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::ctype<char>::id'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:529: error: undefined reference to 'std::__ndk1::ios_base::clear(unsigned int)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:274: error: undefined reference to 'std::uncaught_exception()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:274: error: undefined reference to 'std::uncaught_exception()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:739: error: undefined reference to 'std::__ndk1::ios_base::__set_badbit_and_consider_rethrow()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:955: error: undefined reference to 'std::__ndk1::ios_base::__set_badbit_and_consider_rethrow()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/functional:1391: error: undefined reference to 'std::exception::~exception()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:3501: error: undefined reference to 'std::__ndk1::__shared_weak_count::~__shared_weak_count()'
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::basic_ios<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::basic_ios<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'typeinfo for std::__ndk1::ios_base'
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::basic_istream<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::basic_ostream<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::basic_iostream<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::basic_stringstream<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::basic_streambuf<char, std::__ndk1::char_traits<char> >: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::basic_stringbuf<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::bad_function_call: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::bad_function_call: error: undefined reference to 'typeinfo for std::exception'
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:vtable for std::__ndk1::bad_function_call: error: undefined reference to 'std::exception::what() const'
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for ceres::internal::ParallelFor(ceres::internal::ContextImpl*, int, int, int, std::__ndk1::function<void (int)> const&)::$_0: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:vtable for std::__ndk1::__shared_ptr_pointer<ceres::internal::(anonymous namespace)::SharedState*, std::__ndk1::default_delete<ceres::internal::(anonymous namespace)::SharedState>, std::__ndk1::allocator<ceres::internal::(anonymous namespace)::SharedState> >: error: undefined reference to 'std::__ndk1::__shared_weak_count::~__shared_weak_count()'
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::__shared_ptr_pointer<ceres::internal::(anonymous namespace)::SharedState*, std::__ndk1::default_delete<ceres::internal::(anonymous namespace)::SharedState>, std::__ndk1::allocator<ceres::internal::(anonymous namespace)::SharedState> >: error: undefined reference to 'typeinfo for std::__ndk1::__shared_weak_count'
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for ceres::internal::ParallelFor(ceres::internal::ContextImpl*, int, int, int, std::__ndk1::function<void (int, int)> const&)::$_2: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:typeinfo for std::__ndk1::__function::__base<void (int, int)>: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
CMakeFiles/ceres.dir/parallel_for_cxx.cc.o:parallel_for_cxx.cc:DW.ref.__gxx_personality_v0: error: undefined reference to '__gxx_personality_v0'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:1814: error: undefined reference to 'std::__ndk1::thread::~thread()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:104: error: undefined reference to 'std::__ndk1::mutex::lock()'
/home/rauf/Android/ceres-solver/internal/ceres/thread_pool.cc:46: error: undefined reference to 'std::__ndk1::thread::hardware_concurrency()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/thread:362: error: undefined reference to 'std::__ndk1::__thread_struct::__thread_struct()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:1814: error: undefined reference to 'std::__ndk1::thread::~thread()'
/home/rauf/Android/ceres-solver/internal/ceres/thread_pool.cc:86: error: undefined reference to 'std::__ndk1::thread::~thread()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/thread:372: error: undefined reference to 'std::__ndk1::__throw_system_error(int, char const*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:136: error: undefined reference to 'std::logic_error::logic_error(char const*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:136: error: undefined reference to 'vtable for std::length_error'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to 'typeinfo for std::length_error'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to 'std::length_error::~length_error()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to '__cxa_free_exception'
/home/rauf/Android/ceres-solver/internal/ceres/thread_pool.cc:86: error: undefined reference to 'std::__ndk1::thread::~thread()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:2233: error: undefined reference to 'std::__ndk1::__thread_struct::~__thread_struct()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:2233: error: undefined reference to 'std::__ndk1::__thread_struct::~__thread_struct()'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:119: error: undefined reference to 'std::__ndk1::condition_variable::notify_all()'
/home/rauf/Android/ceres-solver/internal/ceres/thread_pool.cc:70: error: undefined reference to 'std::__ndk1::thread::join()'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:119: error: undefined reference to 'std::__ndk1::condition_variable::notify_all()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:375: error: undefined reference to 'std::__ndk1::condition_variable::wait(std::__ndk1::unique_lock<std::__ndk1::mutex>&)'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:88: error: undefined reference to 'std::__ndk1::condition_variable::notify_one()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/thread:350: error: undefined reference to 'std::__ndk1::__thread_local_data()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:2233: error: undefined reference to 'std::__ndk1::__thread_struct::~__thread_struct()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:2233: error: undefined reference to 'std::__ndk1::__thread_struct::~__thread_struct()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:136: error: undefined reference to 'std::logic_error::logic_error(char const*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:136: error: undefined reference to 'vtable for std::length_error'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to 'typeinfo for std::length_error'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to 'std::length_error::~length_error()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to '__cxa_free_exception'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:136: error: undefined reference to 'vtable for std::length_error'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to 'typeinfo for std::length_error'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:225: error: undefined reference to 'std::length_error::~length_error()'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'std::bad_alloc::bad_alloc()'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'typeinfo for std::bad_alloc'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'std::bad_alloc::~bad_alloc()'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'std::bad_alloc::bad_alloc()'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'typeinfo for std::bad_alloc'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'std::bad_alloc::~bad_alloc()'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'std::bad_alloc::bad_alloc()'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'typeinfo for std::bad_alloc'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'std::bad_alloc::~bad_alloc()'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'std::bad_alloc::bad_alloc()'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'typeinfo for std::bad_alloc'
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:70: error: undefined reference to 'std::bad_alloc::~bad_alloc()'
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:57: error: undefined reference to '__cxa_guard_acquire'
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:57: error: undefined reference to '__cxa_guard_release'
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:57: error: undefined reference to '__cxa_guard_abort'
/home/rauf/Android/ceres-solver/internal/ceres/block_jacobian_writer.cc:144: error: undefined reference to 'operator new[](unsigned long)'
/home/rauf/Android/ceres-solver/internal/ceres/block_random_access_dense_matrix.cc:50: error: undefined reference to 'operator new[](unsigned long)'
/home/rauf/Android/ceres-solver/internal/ceres/block_random_access_dense_matrix.cc:52: error: undefined reference to 'operator new[](unsigned long)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:2264: error: undefined reference to 'operator delete[](void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:2264: error: undefined reference to 'operator delete[](void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:2264: error: undefined reference to 'operator delete[](void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:2264: error: undefined reference to 'operator delete[](void*)'
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:57: error: undefined reference to '__cxa_guard_acquire'
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:57: error: undefined reference to '__cxa_guard_release'
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:57: error: undefined reference to '__cxa_guard_abort'
CMakeFiles/ceres.dir/block_random_access_matrix.cc.o:block_random_access_matrix.cc:vtable for ceres::internal::BlockRandomAccessMatrix: error: undefined reference to '__cxa_pure_virtual'
CMakeFiles/ceres.dir/block_random_access_matrix.cc.o:block_random_access_matrix.cc:vtable for ceres::internal::BlockRandomAccessMatrix: error: undefined reference to '__cxa_pure_virtual'
CMakeFiles/ceres.dir/block_random_access_matrix.cc.o:block_random_access_matrix.cc:vtable for ceres::internal::BlockRandomAccessMatrix: error: undefined reference to '__cxa_pure_virtual'
CMakeFiles/ceres.dir/block_random_access_matrix.cc.o:block_random_access_matrix.cc:vtable for ceres::internal::BlockRandomAccessMatrix: error: undefined reference to '__cxa_pure_virtual'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__hash_table:2142: error: undefined reference to 'std::__ndk1::__next_prime(unsigned long)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__hash_table:2152: error: undefined reference to 'std::__ndk1::__next_prime(unsigned long)'
/home/rauf/Android/ceres-solver/internal/ceres/block_sparse_matrix.cc:82: error: undefined reference to 'operator new[](unsigned long)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:542: error: undefined reference to 'std::__ndk1::ios_base::getloc() const'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> > >::id'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::ctype<char>::id'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:550: error: undefined reference to 'std::__ndk1::ios_base::__set_badbit_and_consider_rethrow()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:1047: error: undefined reference to 'std::__ndk1::cout'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> > >::id'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::ctype<char>::id'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__hash_table:2142: error: undefined reference to 'std::__ndk1::__next_prime(unsigned long)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__hash_table:2152: error: undefined reference to 'std::__ndk1::__next_prime(unsigned long)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ostream:1047: error: undefined reference to 'std::__ndk1::cout'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__locale:212: error: undefined reference to 'std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> > >::id'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:690: error: undefined reference to 'std::__ndk1::ios_base::init(void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/streambuf:230: error: undefined reference to 'std::__ndk1::locale::locale()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:785: error: undefined reference to 'std::__ndk1::ios_base::__call_callbacks(std::__ndk1::ios_base::event)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:786: error: undefined reference to 'std::__ndk1::ios_base::copyfmt(std::__ndk1::ios_base const&)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:789: error: undefined reference to 'std::__ndk1::ios_base::__call_callbacks(std::__ndk1::ios_base::event)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:690: error: undefined reference to 'std::__ndk1::ios_base::init(void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/streambuf:230: error: undefined reference to 'std::__ndk1::locale::locale()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:785: error: undefined reference to 'std::__ndk1::ios_base::__call_callbacks(std::__ndk1::ios_base::event)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:786: error: undefined reference to 'std::__ndk1::ios_base::copyfmt(std::__ndk1::ios_base const&)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:789: error: undefined reference to 'std::__ndk1::ios_base::__call_callbacks(std::__ndk1::ios_base::event)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:3501: error: undefined reference to 'std::__ndk1::__shared_weak_count::~__shared_weak_count()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:3501: error: undefined reference to 'std::__ndk1::__shared_weak_count::~__shared_weak_count()'
CMakeFiles/ceres.dir/coordinate_descent_minimizer.cc.o:coordinate_descent_minimizer.cc:typeinfo for std::__ndk1::__shared_ptr_pointer<ceres::internal::Evaluator*, std::__ndk1::default_delete<ceres::internal::Evaluator>, std::__ndk1::allocator<ceres::internal::Evaluator> >: error: undefined reference to 'typeinfo for std::__ndk1::__shared_weak_count'
CMakeFiles/ceres.dir/coordinate_descent_minimizer.cc.o:coordinate_descent_minimizer.cc:typeinfo for std::__ndk1::__shared_ptr_pointer<ceres::internal::SparseMatrix*, std::__ndk1::default_delete<ceres::internal::SparseMatrix>, std::__ndk1::allocator<ceres::internal::SparseMatrix> >: error: undefined reference to 'typeinfo for std::__ndk1::__shared_weak_count'
CMakeFiles/ceres.dir/coordinate_descent_minimizer.cc.o:coordinate_descent_minimizer.cc:typeinfo for std::__ndk1::__shared_ptr_pointer<ceres::internal::TrustRegionStrategy*, std::__ndk1::default_delete<ceres::internal::TrustRegionStrategy>, std::__ndk1::allocator<ceres::internal::TrustRegionStrategy> >: error: undefined reference to 'typeinfo for std::__ndk1::__shared_weak_count'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:690: error: undefined reference to 'std::__ndk1::ios_base::init(void*)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/streambuf:230: error: undefined reference to 'std::__ndk1::locale::locale()'
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:57: error: undefined reference to '__cxa_guard_acquire'
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:57: error: undefined reference to '__cxa_guard_release'
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h:57: error: undefined reference to '__cxa_guard_abort'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:146: error: undefined reference to 'vtable for std::out_of_range'
/home/rauf/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: the vtable symbol may be undefined because the class is missing its key function
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:236: error: undefined reference to 'typeinfo for std::out_of_range'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/stdexcept:236: error: undefined reference to 'std::out_of_range::~out_of_range()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:786: error: undefined reference to 'std::__ndk1::ios_base::copyfmt(std::__ndk1::ios_base const&)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/ios:786: error: undefined reference to 'std::__ndk1::ios_base::copyfmt(std::__ndk1::ios_base const&)'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/algorithm:0: error: undefined reference to 'std::nothrow'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/memory:1960: error: undefined reference to 'operator new(unsigned long, std::nothrow_t const&)'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:88: error: undefined reference to 'std::__ndk1::condition_variable::notify_one()'
/home/rauf/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include/__mutex_base:375: error: undefined reference to 'std::__ndk1::condition_variable::wait(std::__ndk1::unique_lock<std::__ndk1::mutex>&)'
/home/rauf/Android/ceres-solver/internal/ceres/concurrent_queue.h:88: error: undefined reference to 'std::__ndk1::condition_variable::notify_one()'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
internal/ceres/CMakeFiles/ceres.dir/build.make:3890: recipe for target 'lib/libceres.so' failed
make[2]: *** [lib/libceres.so] Error 1
CMakeFiles/Makefile2:117: recipe for target 'internal/ceres/CMakeFiles/ceres.dir/all' failed
make[1]: *** [internal/ceres/CMakeFiles/ceres.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2

Alex Stewart

unread,
Sep 10, 2018, 9:19:48 AM9/10/18
to ceres-...@googlegroups.com
There are a number of things going on here, you're compiling with GCC which is deprecated for Android - use Clang instead - but you're also linking to libc++ from LLVM rather than libstdc++ from GCC.  You make also be trying to mix Android ABIs.  All of the following CMake flags should be the same when compiling Ceres for Android and its dependencies, and then your project (all using CMake):

ANDROID_ABI
ANDROID_STL
ANDROID_NATIVE_API_LEVEL

-Alex


--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.

Hassaan Rauf

unread,
Sep 10, 2018, 9:32:34 AM9/10/18
to Ceres Solver
sorry for asking a noob question but how do I define these option?

this was my cmake command to build the library
cmake -DCMAKE_TOOLCHAIN_FILE=$NDK_DIR/build/cmake/android.toolchain.cmake -DEIGEN_INCLUDE_DIR=~/Android/eigen-335/Eigen -DANDROID_ABI=x86_64 arm64-v8a -DANDROID_STL=c++_shared -DANDROID_NATIVE_API_LEVEL=android-24 -DBUILD_SHARED_LIBS=ON -DMINIGLOG=ON -clean ../ceres-solver
...

Alex Stewart

unread,
Sep 11, 2018, 4:44:11 AM9/11/18
to ceres-...@googlegroups.com
ANDROID_ABI is not a list, android.toolchain.cmake is expecting it to have a single value, I'm not sure what your invocation above would do in practice, as some of the conditionals in that file are regexes, it's possible that the result is an invalid/unanticipated combination.  Try building with just ANDROID_ABI=arm64-v8a first.

-Alex

--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.

Hassaan Rauf

unread,
Sep 11, 2018, 7:33:33 AM9/11/18
to Ceres Solver
So I changed:

cmake -DCMAKE_TOOLCHAIN_FILE=$NDK_DIR/build/cmake/android.toolchain.cmake -DEIGEN_INCLUDE_DIR=/usr/local/include/eigen3/ -DANDROID_TOOLCHAIN=clang -DANDROID_ABI=arm64-v8a -DANDROID_STL=c++_shared -DANDROID_NATIVE_API_LEVEL=android-24 -DBUILD_SHARED_LIBS=ON -DMINIGLOG=ON -std=libstdc++ ../ceres-solver

And still got the following error. What I am not sure about is the android_stl as your earlier comment said to change it to libstdc++ from gcc. I went through the android.toolchain.cmake and it says to use 'system' keyword to enable libstdc++ from gcc but that also throws an error when I make it. So I am stuck again.

/home/rauf/Android/Sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: warning: libc++_shared.so, needed by ../lib/libceres.so, not found (try using -rpath or -rpath-link)
../lib/libceres.so: undefined reference to `std::__ndk1::ctype<char>::id'
../lib/libceres.so: undefined reference to `std::__ndk1::cout'
../lib/libceres.so: undefined reference to `std::out_of_range::~out_of_range()'
../lib/libceres.so: undefined reference to `operator delete(void*)'
../lib/libceres.so: undefined reference to `operator new(unsigned long, std::nothrow_t const&)'
../lib/libceres.so: undefined reference to `operator new[](unsigned long)'
../lib/libceres.so: undefined reference to `std::logic_error::logic_error(char const*)'
../lib/libceres.so: undefined reference to `typeinfo for std::bad_alloc'
../lib/libceres.so: undefined reference to `std::__ndk1::ios_base::~ios_base()'
../lib/libceres.so: undefined reference to `typeinfo for std::out_of_range'
../lib/libceres.so: undefined reference to `std::__ndk1::ios_base::clear(unsigned int)'
../lib/libceres.so: undefined reference to `__cxa_end_catch'
../lib/libceres.so: undefined reference to `__cxa_allocate_exception'
../lib/libceres.so: undefined reference to `std::bad_alloc::~bad_alloc()'
../lib/libceres.so: undefined reference to `std::exception::what() const'
../lib/libceres.so: undefined reference to `std::__ndk1::ios_base::__set_badbit_and_consider_rethrow()'
../lib/libceres.so: undefined reference to `std::__ndk1::mutex::unlock()'
../lib/libceres.so: undefined reference to `std::length_error::~length_error()'
../lib/libceres.so: undefined reference to `std::__ndk1::__shared_weak_count::~__shared_weak_count()'
../lib/libceres.so: undefined reference to `std::nothrow'
../lib/libceres.so: undefined reference to `__cxa_guard_release'
../lib/libceres.so: undefined reference to `std::__ndk1::ios_base::init(void*)'
../lib/libceres.so: undefined reference to `typeinfo for std::exception'
../lib/libceres.so: undefined reference to `std::__ndk1::__thread_struct::__thread_struct()'
../lib/libceres.so: undefined reference to `std::__ndk1::thread::join()'
../lib/libceres.so: undefined reference to `std::__ndk1::condition_variable::~condition_variable()'
../lib/libceres.so: undefined reference to `std::__ndk1::thread::hardware_concurrency()'
../lib/libceres.so: undefined reference to `std::bad_alloc::bad_alloc()'
../lib/libceres.so: undefined reference to `__cxa_pure_virtual'
../lib/libceres.so: undefined reference to `std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits<char> > >::id'
../lib/libceres.so: undefined reference to `std::__ndk1::condition_variable::notify_all()'
../lib/libceres.so: undefined reference to `typeinfo for std::length_error'
../lib/libceres.so: undefined reference to `vtable for std::length_error'
../lib/libceres.so: undefined reference to `vtable for std::out_of_range'
../lib/libceres.so: undefined reference to `operator delete[](void*)'
../lib/libceres.so: undefined reference to `std::__ndk1::__next_prime(unsigned long)'
../lib/libceres.so: undefined reference to `__gxx_personality_v0'
../lib/libceres.so: undefined reference to `std::__ndk1::__shared_weak_count::__release_weak()'
../lib/libceres.so: undefined reference to `__cxa_begin_catch'
../lib/libceres.so: undefined reference to `__cxa_throw'
../lib/libceres.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
../lib/libceres.so: undefined reference to `std::exception::~exception()'
../lib/libceres.so: undefined reference to `std::__ndk1::condition_variable::notify_one()'
../lib/libceres.so: undefined reference to `typeinfo for std::__ndk1::ios_base'
../lib/libceres.so: undefined reference to `std::__ndk1::thread::~thread()'
../lib/libceres.so: undefined reference to `operator new(unsigned long)'
../lib/libceres.so: undefined reference to `std::__ndk1::__thread_struct::~__thread_struct()'
../lib/libceres.so: undefined reference to `typeinfo for std::__ndk1::__shared_weak_count'
../lib/libceres.so: undefined reference to `std::__ndk1::locale::locale()'
../lib/libceres.so: undefined reference to `std::__ndk1::ios_base::getloc() const'
../lib/libceres.so: undefined reference to `std::__ndk1::mutex::~mutex()'
../lib/libceres.so: undefined reference to `std::__ndk1::__thread_local_data()'
../lib/libceres.so: undefined reference to `vtable for __cxxabiv1::__class_type_info'
../lib/libceres.so: undefined reference to `std::__ndk1::ios_base::__call_callbacks(std::__ndk1::ios_base::event)'
../lib/libceres.so: undefined reference to `std::__ndk1::condition_variable::wait(std::__ndk1::unique_lock<std::__ndk1::mutex>&)'
../lib/libceres.so: undefined reference to `std::terminate()'
../lib/libceres.so: undefined reference to `std::__ndk1::locale::~locale()'
../lib/libceres.so: undefined reference to `std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const'
../lib/libceres.so: undefined reference to `std::uncaught_exception()'
../lib/libceres.so: undefined reference to `std::__ndk1::mutex::lock()'
../lib/libceres.so: undefined reference to `std::__ndk1::__throw_system_error(int, char const*)'
../lib/libceres.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
../lib/libceres.so: undefined reference to `__cxa_free_exception'
../lib/libceres.so: undefined reference to `__cxa_guard_acquire'
../lib/libceres.so: undefined reference to `std::__ndk1::ios_base::copyfmt(std::__ndk1::ios_base const&)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
examples/CMakeFiles/curve_fitting_c.dir/build.make:95: recipe for target 'bin/curve_fitting_c' failed
make[2]: *** [bin/curve_fitting_c] Error 1
CMakeFiles/Makefile2:341: recipe for target 'examples/CMakeFiles/curve_fitting_c.dir/all' failed
make[1]: *** [examples/CMakeFiles/curve_fitting_c.dir/all] Error 2

Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
...

Hassaan Rauf

unread,
Sep 12, 2018, 10:01:41 AM9/12/18
to Ceres Solver
So I tried again, it works with ABI armeabi-v7a but not with arm64-v8a.

Furthermore is there a step by step tutorial because I'm really stuck with little time.

When i use Find_Package in android studio it throws an error that it can't find the ceresconfig.cmake files. The Cmake version used to build these libraries from NDK folder 3.6.x. The searched file is in /usr/local/lib/cmake/Ceres.


On Tuesday, 11 September 2018 10:44:11 UTC+2, Lex wrote:
...
Reply all
Reply to author
Forward
0 new messages