configure:error:配置Android时,C编译器无法创建可执行文件

时间:2012-10-11 10:40:54

标签: android configuration compilation android-ndk

我已经下载了CPP单元测试框架并尝试为Android编译。但是,面临配置问题。我尝试制作Standalone tool chain并尝试配置但总是失败

sh-4.1$ ./configure CXX=arm-linux-androideabi-g++ CC=arm-linux-androideabi-gcc CPP=arm-linux-androideabi-g++ CXXCPP=arm-linux-androideabi-g++
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make sets $(MAKE)... (cached) yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for gcc... arm-linux-androideabi-gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
sh-4.1$ arm-linux-androideabi-g++
arm-linux-androideabi-g++.exe: fatal error: no input files
compilation terminated.
sh-4.1$

我的构建环境是NDKr8,Cygwin,Windows7-x64。

我尝试浏览config.log,发现错误是

arm-linux-androideabi-gcc.exe: error: CreateProcess: No such file or directory

我尝试通过减少路径长度来修复上述错误,等等。但仍然无法解决。如果有人解决了类似的问题,请告诉我。

只需添加链接http://curl.haxx.se/mail/lib-2012-08/0184.html中的信息 但同样面临与Cygwin相同的问题。

D:\Test>arm-linux-androideabi-gcc Main.c
arm-linux-androideabi-gcc: error: CreateProcess: No such file or directory

D:\Test>

即使在Windows提示符中你也观察到它也是同样的问题。

-----编辑1 ----- 我尝试使用以下行在Ubuntu 12.04 OS上进行配置

./configure --host=arm CXX=arm-linux-androideabi-g++ CC=arm-linux-androideabi-gcc CPP=arm-linux-androideabi-g++ CXXCPP=arm-linux-androideabi-g++

但是得到这些错误

checking how to run the C preprocessor... arm-linux-androideabi-g++
configure: error: in `/mnt/hgfs/VMShare/gperftools-2.0_Android/gperftools-2.0':
configure: error: C preprocessor "arm-linux-androideabi-g++" fails sanity check
See `config.log' for more details.

但是大部分时间ARM android Gcc编译器都失败了。

configure:4216: arm-linux-androideabi-gcc -qversion >&5
arm-linux-androideabi-gcc: error: unrecognized option '-qversion'
arm-linux-androideabi-gcc: fatal error: no input files

2 个答案:

答案 0 :(得分:1)

提供正确的路径和环境。

示例设置:

export NDK=/develop/android/android-ndk-r9b
export SYSROOT=$NDK/platforms/android-18/arch-x86
export CC="$NDK/toolchains/x86-4.7/prebuilt/linux-x86/bin/i686-linux-android-gcc  --sysroot=$SYSROOT"

export CFLAGS="--sysroot=$SYSROOT  "
export LDFLAGS="--sysroot=$SYSROOT  "

答案 1 :(得分:0)

我没有您的特定设置的经验,但是当我收到此错误时,我通过将gcc的bin文件夹添加到系统路径来修复它,此外,必须有一个没有前缀的每个可执行文件的版本(例如g ++的bin目录中的g ++。exe,ld.exe ...)。这解决了我的问题。我也在更改路径后注销/开启,但不知道是否有必要。

我在这里得到了这个想法: http://forums.codeblocks.org/index.php?topic=18100.0