4

我已经下载了 CPP 单元测试框架并尝试为 Android 编译。但是,面对配置问题。我尝试制作独立工具链并尝试配置但它总是失败

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 操作系统上使用以下行进行配置

./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
4

2 回答 2

2

给出正确的路径和环境。

示例设置:

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  "
于 2014-12-12T03:34:55.693 回答
0

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

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

于 2014-05-22T09:51:59.243 回答