arm-linux-androideabi-gcc 交叉编译报错

对Linux下的一个开源代码进行交叉编译,准备移植到Android平台上。但是一直报错。

编辑脚本如下:
export NDKROOT="/home/bupt/android-ndk-r9d"
export PREBUILT=$NDKROOT/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
export SYSROOT=$NDKROOT/platforms/android-18/arch-arm
export CC=$PREBUILT/bin/arm-linux-androideabi-gcc
export LD=$PREBUILT/bin/arm-linux-androideabi-ld
export AS=$PREBUILT/bin/arm-linux-androideabi-gcc
export AR=$PREBUILT/bin/arm-linux-androideabi-ar
export RANLIB=$PREBUILT/bin/arm-linux-androideabi-ranlib
export STRIP=$PREBUILT/bin/arm-linux-androideabi-strip
CFLAGS="--sysroot=$NDKROOT/platforms/android-18/arch-arm -fPIC -DX264_VERSION -DANDROID -DHAVE_PTHREAD -D__ARM_ARCH_7__ -D__ARM_ARCH_7A__ -march=armv7-a -fomit-frame-pointer -mfloat-abi=softfp -mfpu=neon -I$TOOLCHAINS_INCLUDE -I$NDKROOT/platforms/android-18/arch-arm/usr/include"
export CFLAGS
LDFLAGS="-Wl,-T,$PREBUILT/arm-linux-androideabi/lib/ldscripts/armelf_linux_eabi.x -Wl,-rpath-link=$NDKROOT/platforms/android-18/arch-arm/usr/lib -L$NDKROOT/platforms/android-18/arch-arm/usr/lib -nostdlib -lc -lm -ldl -lgcc"
export LDFLAGS
./configure --prefix=/home/bupt/clamav/clamav-0.98.4/clamav-android --host=arm-linux-androideabi --with-openssl=/usr/lib

config.log报错如下:

configure:3820: /home/bupt/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -V >&5
arm-linux-androideabi-gcc: error: unrecognized option '-V'
arm-linux-androideabi-gcc: fatal error: no input files
compilation terminated.
configure:3831: $? = 1
configure:3820: /home/bupt/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -qversion >&5
arm-linux-androideabi-gcc: error: unrecognized option '-qversion'
arm-linux-androideabi-gcc: fatal error: no input files
compilation terminated.

home/bupt/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/include-fixed/limits.h:169:61: error: no include path in which to search for limits.h
configure:4461: $? = 1

但是在这个文件夹下可以找到这个.h文件。

conftest.c:13:0: fatal error: assert.h: No such file or directory
compilation terminated.

其他报错信息都是以上这种找不到头文件等。

命令行报错为:
configure: ****** mempool support disabled (mmap not available or not usable)
checking for ld used by GCC... /home/bupt/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ld
checking if the linker (/home/bupt/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ld) is GNU ld... yes
checking for shared library run path origin... done
checking check.h usability... no
checking check.h presence... no
checking for check.h... no
configure: unable to compile/link with check
checking for libxml2 installation... not found
configure: ****** libxml2 support unavailable
checking for OpenSSL installation... configure: error: OpenSSL not found.

求解决方案!!!!!!!!!!!!!!

解决了吗?把所以config文件内容考上来。。差不多是版本问题。gcc

hread model: posix
gcc version 4.8 (GCC) 
configure:4517: $? = 0
configure:4506: /opt/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=/opt/android-ndk-r10e/platforms/android-9/arch-arm -V >&5
arm-linux-androideabi-gcc: error: unrecognized command line option '-V'
arm-linux-androideabi-gcc: fatal error: no input files
compilation terminated.
configure:4517: $? = 1
configure:4506: /opt/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=/opt/android-ndk-r10e/platforms/android-9/arch-arm -qversion >&5
arm-linux-androideabi-gcc: error: unrecognized command line option '-qversion'
arm-linux-androideabi-gcc: fatal error: no input files
compilation terminated.
configure:4517: $? = 1
configure:4537: checking whether the C compiler works
configure:4559: /opt/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=/opt/android-ndk-r10e/platforms/android-9/arch-arm -DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic O2 -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float -DANDROID -DPLATFORM_ANDROID -DLINUX -D__linux__ -DHAVE_USR_INCLUDE_MALLOC_H -DPAGE_SIZE=0x1000 -D_POSIX_PATH_MAX=256 -DS_IWRITE=S_IWUSR -DHAVE_PTHREAD_MUTEX_TIMEDLOCK -fpic O2 -funwind-tables -ffunction-sections -fdata-sections -DARM_FPU_NONE=1 -march=armv5te -mtune=xscale -msoft-float -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -Wl,--wrap,sigaction -L/home/yanfuxing/Downloads/mono2018.4/Mono/mono-unity-2018.4/android_krait_signal_handler/build/obj/local/armeabi -lkrait-signal-handler -Wl,--no-undefined -Wl,--gc-sections -Wl,-rpath-link=/opt/android-ndk-r10e/platforms/android-9/arch-arm/usr/lib -ldl -lm -llog -lc  conftest.c  >&5
arm-linux-androideabi-gcc: error: O2: No such file or directory
arm-linux-androideabi-gcc: error: O2: No such file or directory
configure:4563: $? = 1
configure:4601: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "mono"
| #define VERSION "2.6.5"
| /* end confdefs.h.  */

| int
| main ()
| {

|   ;
|   return 0;
| }
configure:4606: error: in `/home/yanfuxing/Downloads/mono2018.4/Mono/mono-unity-2018.4':
configure:4608: error: C compiler cannot create executables
See `config.log' for more details

 

跟你的一样 麻烦 问下解决了吗