2012-10-11 2 views
4

CPP 유닛 테스트 프레임 워크를 다운로드하고 Android 용으로 컴파일하려고합니다. 그러나 구성 문제가 발생합니다. 나는 Standalone tool chain을 시도하고 또한 구성을 시도하지만 항상configure : 오류 : C 컴파일러가 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의-64입니다 실패.

는 I는 config.log 거치지 시도 및 에러가 나는 등의 경로 길이를 절단하여, 상기 에러를 고정하기위한 시도

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

것을 알았다. 그러나 여전히 해결할 수는 없습니다. 다른 사람이 비슷한 문제를 해결했는지 알려 주시기 바랍니다.

링크의 정보를 추가하기 만하면 Cygwin에서도 동일한 문제가 발생합니다. http://curl.haxx.se/mail/lib-2012-08/0184.html

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

D:\Test> 

Windows에서도 확인 메시지가 표시되는 것과 같은 문제입니다.

----- 편집 1 ----- 나는 아래 라인

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

와 우분투 12.04 OS에 구성 시도 그러나 점점 이러한 오류

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 안드로이드 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

"자세한 내용은 'config.log'를 참조하십시오. ' 그것이 당신이보고 있어야하는 로그 파일입니다. – Mat

+0

@Mat : config.log 파일 만 보았습니다. 그것은 오타였습니다 :). 고마워, 위의 msg에서 Config.log로 변경했습니다. – Suman

+0

기술적으로 **./configure ** 스크립트가 맞습니다. 크로스 컴파일러는 Windows (또는 데스크톱 Linux)에서 실행할 실행 파일을 만들 수 없습니다. 때로는 **./configure **가 크로스 컴파일러를 사용하고 있고 빌드를 수행하는 환경과 동일한 환경에서 바이너리를 실행하지 않으려는 경우 _configured_가 될 수 있습니다. 그러나 그런 시나리오에서 단위 테스트 프레임 워크를 사용할 수 있는지 확신 할 수 없습니다. 특정 사례를 분석하려면 빌드하려는 프로젝트 (URL, 버전 등)를 게시하는 것이 유용 할 수 있습니다. –

답변

0

내가 특정 설치에 경험이 없어,하지만 난이 오류가 발생했을 때, 나는 시스템 경로에 GCC의 bin 폴더를 추가하여 수정 및 추가, 각각의 실행 파일의 버전이있을했습니다 gcc의 bin 디렉토리에 접두어 (예 : g ++. exe, ld.exe ...)가 없습니다. 이것은 나를 위해 문제를 해결했다. 경로를 변경 한 후에도 로그 오프했는데 필요한 경우 알 수 없습니다. http://forums.codeblocks.org/index.php?topic=18100.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 " 
관련 문제