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

问题描述

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

时间: 2024-09-12 08:38:47

arm-linux-androideabi-gcc 交叉编译报错的相关文章

OS X下gcc编译报错,Xcode带的gcc

问题描述 OS X下gcc编译报错,Xcode带的gcc 错误是 dpc2sim.a file was built for archive which is not the architecture being linked (x86_64) 用Data Prefetch Championship给的framework写prefetch的程序http://comparch-conf.gatech.edu/dpc2/想先跑跑人家给的example,可是编译的时候就报错了.我用的是OS X,gcc版

项目启动报错-linux系统tomcat重启报错

问题描述 linux系统tomcat重启报错 以下是启动是的错误信息: INFO: Starting Coyote HTTP/1.1 on http-8080 Jan 21, 2015 4:26:24 PM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 Jan 21, 2015 4:26:24 PM org.apache.jk.server.JkMain start INFO:

32为 inux安卓 报错-32为Linux安卓AVD启动报错

问题描述 32为Linux安卓AVD启动报错 Andoid的朋友,在吗?请教个问题.我启动Adnroid的AVD时报错如下: Starting emulator for AVD 'qq'ERROR: 32-bit Linux Android emulator binaries are DEPRECATED to use them you will have to do at least one of the following: - Use the '-force-32bit' option w

linux执行应用程序指令报错

问题描述 linux执行应用程序指令报错 linux执行应用程序指令报错Segmentation fault 跪求大神帮忙了 解决方案 是你编写的程序还是别的程序?如果是你写的程序,可能是内存没有正确分配,指针的问题.别人的程序,检查配置文件.依赖的库是否齐全. 解决方案二: 应用程序在Linux上的执行过程[Pthread] 应用程序在linux上的执行过程

linux下使用jstack报错,牛人速来支援

问题描述 linux下使用jstack报错,牛人速来支援 jstack -F 20940 Attaching to process ID 20940, please wait... sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "gHotSpotVMTypes" in any of the known library names (libjvm.so, libjvm_g.so, gamma_g

新装的linux虚拟机安装mysql报错,求解决

问题描述 新装的linux虚拟机安装mysql报错,求解决 我在安装mysql的时候执行到scripts/mysql_install_db --user=mysql,报了错误 可是我的hostname并没有错误 我试着用force,是这样的 麻烦大神告诉我怎么办呀,拜托了 解决方案 貌似./bin/my_print_defaults这个脚本没有执行权限?将./bin目录和文件加上执行权限试试 解决方案二: 修改一下hostname试试呢

gcc编译报错:程序中有游离的‘\357’‘\273’‘\277’等 解决方法

原文:http://www.cnblogs.com/lidp/archive/2009/06/17/1697886.html 造成的原因主要有两个: 1. 程序(*.c,*.h)中使用了中文的标点符号(全角),比如:,},+. 改成英文的标点半角符号就行了. 甚至有时候空格也会出现类似错误,删掉该空格 重新输入. vim里面做类似替换还是很容易的. 如何看到报错的符号? od -c hello.c > log.txt 在log中就能看到符号了 2.  如果替换成了英文标点还出错的话,还报此错误,

linux下xhost命令报错:unable to open display的解决办法

  linux下执行xhost命令报错:unable to open display,解决方法,linux 下通过xhost进入图形界面,经常会出现报错"unable to open display" linux下的操作步骤如下: 1.复制代码: 复制内容到剪贴板 [root@localhost ~]# vncserver New 'localhost:1 (root)' desktop is localhost:1 Starting applications specified in

Linux中复制目录报错cp:omitting directory的解决办法

  Linux系统中复制目录到另一个目录下面,用cp命令时会出现报错 1.在/home/目录下,创建一个新目录,例如:123 2.拷贝目录123 到/tmp/目录中,使用cp命令 3.系统报错,cp:omitting directory '123' 4.使用cp -r命令进行复制(注:cp命令默认是不能复制目录的,需要加参数 -r). 5.查看拷贝结果,目录123已经复制成功. 6.备注:cp后参数 - a 该选项通常在拷贝目录时使用.它保留链接.文件属性,并递归地拷贝目录,其作用等于dpR选项