我已经下载了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
答案 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