I am compiling my project with ndk
and I want to use c++_static
to build my project. For this I am using-
APP_STL := c++_static
And
APP_CPPFLAGS := -std=c++11 -pthread -frtti -Wno-format-extra-args -Wno-format-zero-length -Wdeprecated-declarations -fno-builtin-cos -fno-builtin-sin -fno-builtin-cosf -fno-builtin-sinf -fexceptionsin
in my Application.mk
But this is giving me error :
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:313:9: error: '::signbit' has not been declared
using ::signbit;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:314:9: error: '::fpclassify' has not been declared
using ::fpclassify;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:315:9: error: '::isfinite' has not been declared
using ::isfinite;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:316:9: error: '::isinf' has not been declared
using ::isinf;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:318:9: error: '::isnormal' has not been declared
using ::isnormal;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:319:9: error: '::isgreater' has not been declared
using ::isgreater;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:320:9: error: '::isgreaterequal' has not been declared
using ::isgreaterequal;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:321:9: error: '::isless' has not been declared
using ::isless;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:322:9: error: '::islessequal' has not been declared
using ::islessequal;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:323:9: error: '::islessgreater' has not been declared
using ::islessgreater;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:324:9: error: '::isunordered' has not been declared
using ::isunordered;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:325:9: error: '::isunordered' has not been declared
using ::isunordered;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:327:9: error: '::float_t' has not been declared
using ::float_t;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:328:9: error: '::double_t' has not been declared
using ::double_t;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:485:9: error: '::acosl' has not been declared
using ::acosl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:486:9: error: '::asinl' has not been declared
using ::asinl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:487:9: error: '::atanl' has not been declared
using ::atanl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:488:9: error: '::atan2l' has not been declared
using ::atan2l;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:490:9: error: '::cosl' has not been declared
using ::cosl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:491:9: error: '::coshl' has not been declared
using ::coshl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:492:9: error: '::expl' has not been declared
using ::expl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:495:9: error: '::fmodl' has not been declared
using ::fmodl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:498:9: error: '::logl' has not been declared
using ::logl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:499:9: error: '::log10l' has not been declared
using ::log10l;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:500:9: error: '::modfl' has not been declared
using ::modfl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:501:9: error: '::powl' has not been declared
using ::powl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:502:9: error: '::sinl' has not been declared
using ::sinl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:503:9: error: '::sinhl' has not been declared
using ::sinhl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:504:9: error: '::sqrtl' has not been declared
using ::sqrtl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:505:9: error: '::tanl' has not been declared
using ::tanl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:508:9: error: '::tanhl' has not been declared
using ::tanhl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:509:9: error: '::acoshl' has not been declared
using ::acoshl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:510:9: error: '::asinhl' has not been declared
using ::asinhl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:511:9: error: '::atanhl' has not been declared
using ::atanhl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:512:9: error: '::cbrtl' has not been declared
using ::cbrtl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:518:9: error: '::erfl' has not been declared
using ::erfl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:519:9: error: '::erfcl' has not been declared
using ::erfcl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:520:9: error: '::exp2l' has not been declared
using ::exp2l;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:521:9: error: '::expm1l' has not been declared
using ::expm1l;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:526:9: error: '::hypotl' has not been declared
using ::hypotl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:528:9: error: '::lgammal' has not been declared
using ::lgammal;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:529:9: error: '::llrintl' has not been declared
using ::llrintl;
^
/Users/aagman/Desktop/Project/Android/android-ndk-r12b/sources/cxx-stl/llvm-libc++/libcxx/include/cmath:531:9: error: '::log1pl' has not been declared
using ::log1pl; ^
Please help me out with this problem. Earlier I built my project using gnustl_shared and it works fine, but because of some constraint I need to build my project using c++ static
or c++_shared
.
I experienced the same issue when including <complex>
using the LLVM libc++ STL. A 'solution' which worked for me was to comment out these particular lines in ndk-bundle/sources/cxx-stl/llvm-libc++/include/cmath
.
It is unlikely something wrong with the std lib in NDK.
I experienced the similar problem recently, had exact stack but with different NDK version (16b). I was trying to compile folly with cmake.
Turns out I had "-I src/folly/folly" folder in the include paths and by some reason cmake didn't put the system includes first.
The compiler was looking for <math>
and other system libraries in the folly folder.
As soon I removed this folder from the list of includes the problem was gone.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With