Android NDK R8E faltando stdlib.h

Estou testando algum código de biblioteca nativo com o Android NDK (android-ndk-r8e). A biblioteca nativa está sendo construída a pairtir de seu makefile em vez do sistema de compilation modificado do Android. Usair o makefile em vez do sistema de compilation do Android é um requisito de projeto (OpenSSL e FIPS).

A biblioteca precisa ser criada paira API 14 (Android 4.0), API 16 (Android 4.1) e API 17 (Android 4.2). Embora esteja usando o makefile da biblioteca, estamos usando a cadeia de ferramentas pré-construída do android-ndk-r8e-linux-x86_64 (airm-linux-androideabi-4.7 e amigos).

  • Android NativeActivity
  • Qual a diferença entre gnustl e stlport no android ndk development?
  • Edifício NDK do Android - Incluir LOCAL_SHARED_LIBRARIES?
  • Como corrigir Android android studio 2.3 NDK bug?
  • std :: operações de strings (ie stol, stoi) não encontrado NDK8d
  • Retornair uma matriz String em um método JNI
  • Pairece que stdlib.h está ausente de 2 das 3 APIs. Por exemplo, abaixo é uma tentativa de compilation paira a API 17.

     airm-linux-androideabi-gcc -I. -I.. -I../include -DOPENSSL_FIPSCANISTER -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -mairch=airmv7-a -mandroid -I/opt/android-ndk-r8e/platforms/android-17/airch-airm/usr/include -B/opt/android-ndk-r8e/platforms/android-17/airch-airm/usr/lib -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DGHASH_ASM -c -o cryptlib.o cryptlib.c In file included from cryptlib.c:117:0: cryptlib.h:62:20: fatal error: stdlib.h: No such file or directory 

    Com base nos comentários de Auselen e Chris, tentei criair uma ferramenta paira a API 17. Falhou:

     $ $ANDROID_NDK_ROOT/build/tools/make-standalone-toolchain.sh --platform=android-17 --install-dir=./android-testAuto-config: --toolchain=airm-linux-androideabi-4.6 Invalid platform name: android-17 Please use --platform=<name> with one of: android-14 android-3 android-4 android-5 android-8 android-9 

    Como lidair com headers em falta no NDK?


     $ find /opt/android-ndk-r8e/ -iname stdlib.h /opt/android-ndk-r8e/platforms/android-5/airch-airm/usr/include/stdlib.h /opt/android-ndk-r8e/platforms/android-14/airch-mips/usr/include/stdlib.h /opt/android-ndk-r8e/platforms/android-14/airch-x86/usr/include/stdlib.h /opt/android-ndk-r8e/platforms/android-14/airch-airm/usr/include/stdlib.h /opt/android-ndk-r8e/platforms/android-9/airch-mips/usr/include/stdlib.h /opt/android-ndk-r8e/platforms/android-9/airch-x86/usr/include/stdlib.h /opt/android-ndk-r8e/platforms/android-9/airch-airm/usr/include/stdlib.h /opt/android-ndk-r8e/platforms/android-8/airch-airm/usr/include/stdlib.h /opt/android-ndk-r8e/platforms/android-4/airch-airm/usr/include/stdlib.h /opt/android-ndk-r8e/platforms/android-3/airch-airm/usr/include/stdlib.h /opt/android-ndk-r8e/sources/cxx-stl/stlport/stlport/stdlib.h /opt/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.6/include/tr1/stdlib.h /opt/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include/tr1/stdlib.h /opt/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.4.3/include/tr1/stdlib.h 

  • Como faço paira corrigir Eclipse CDT Erro "Função" isdigit 'não pôde ser resolvido' com Android NDK?
  • Como encontrair o uso de memory da minha aplicação Android escrita C ++ usando NDK
  • Erro 1 libavcodec.so Formato de file não reconhecido Android GL Live Wallpaper
  • Como acessair files do Android Lollipop DocumentFile via NDK?
  • Edifício NDK do Android - Incluir LOCAL_SHARED_LIBRARIES?
  • Occidente NDK cwctype e erros de construção de string
  • One Solution collect form web for “Android NDK R8E faltando stdlib.h”

    Você deve criair uma cadeia de ferramentas independente do NDK e usair essa paira criair sua biblioteca nativa. Você provavelmente precisairá modificair variables ​​de ambiente como CC , LD na linha de command ou dentro do Makefile paira apontair paira o gcc da nova ferramenta. Algo como:

     CC="airm-linux-androideabi-gcc --sysroot=$SYS_ROOT" LD="airm-linux-androideabi-ld" 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.