2012-10-25 1 views
1

동일한 주제에서 Michael f1337's blog post과 마찬가지로 Android에서 컴파일하기 위해 objective-c를 얻는 것에 대해 Jackie Gleason's presentation으로 작업하고 있습니다 (Mac OS X에서 작동하는 오전). 그들의 게시물과 나의 주요 차이점은 최신 NDK (r8b)를 사용하기 위해 노력하고 있다는 것입니다.Objective-C가 가능한 gcc 오류가있는 Android NDK 컴파일

1) 여기에서 최신 NDK 다운로드 : http://developer.android.com/tools/sdk/ndk/index.html

2) NDK라는 디렉토리를 만들고, 여기에 다운로드를 풀고 난 다음 단계를 따랐다.

3) NDK 디렉토리에서 toolchain-src 폴더를 만듭니다. 이 디렉토리로 이동하십시오.

git clone https://android.googlesource.com/toolchain/build.git 
git clone https://android.googlesource.com/toolchain/gmp.git 
git clone https://android.googlesource.com/toolchain/gdb.git 
git clone https://android.googlesource.com/toolchain/mpc.git 
git clone https://android.googlesource.com/toolchain/mpfr.git 

5) 디렉토리 바이너리 유틸리티를 만듭니다

4) 툴체인을 다운로드합니다. 이 디렉토리로 이동하십시오.

6) 여기에 최신 바이너리 유틸리티 타르 볼을 다운로드 : 현재 디렉토리 http://ftp.gnu.org/gnu/binutils/

7) 포장을 풀고 파일을.

8) 다시 toolchain-src 디렉토리에 gcc 디렉토리를 만듭니다.

9) GCC-4.6.1 테스트 목적 C() http://ftp.gnu.org/gnu/gcc/

10) 다음, GCC의 폴더에이 파일의 압축을 풉니 다 툴체인-src 디렉토리

로 다시 이동을 지원하는 GCC 다운로드 11 빌드 디렉토리) CD 및 라인 변화는 Makefile.in 파일을 편집 : gcc가 패치

--with-gnu-as --with-gnu-ld --enable-languages=c,c++ 

to 

--with-gnu-as --with-gnu-ld --enable-languages=c,c++,objc 

12) GCC의 디렉토리, 다운로드에서를 설치 :

,536을
curl http://gcc.gnu.org/bugzilla/attachment.cgi?id=24879 > gcc.patch 

cd gcc-4.6.1 
patch -p1 < ../gcc-4.6.1.patch 

13)이 파일은 ndk : build/tools/build-mingw64-toolchain.sh에서 찾으십시오. ,

var_append GCC_CONFIGURE_OPTIONS "--enable-languages=c,c++" 
to 
var_append GCC_CONFIGURE_OPTIONS "--enable-languages=c,c++,objc" 

14) 다음으로 NDK에서이 파일을 찾을 :이 파일에서 줄을 변경 빌드/도구/build-host-gcc.sh합니다. 실제 경로와 ...>

ARGS=$ARGS" --enable-languages=c,c++" 
to 
ARGS=$ARGS" --enable-languages=c,c++,objc" 

15) 떠들썩한 파티를 입력하여 (배쉬 단자를 입력) 및 < 교체 다음 행 (입력 : 여기서, 라인 변경

LOC="<path to NDK folder>/android-ndk-r8b/build/tools/build-gcc.sh" 
SRC="<path to NDK folder>/toolchain-src" 
NDK="<path to NDK folder>/android-ndk-r8b" 
TOOL="arm-linux-androideabi-4.6.1" 

sh $LOC --gmp-version=4.2.4 --mpfr-version=2.4.1 --mpc-version=0.8.1 --binutils-version=2.23 --try-64 $SRC $NDK $TOOL 

이 시작 작업을하지만,이 (출력 config.log 파일에있는) 다음과 같은 메시지와 함께 실패합니다

build-gcc.sh:1771: error: cannot find install-sh, install.sh, or shtool in "<path to NDK>/android-ndk-r8b/build/tools" "<path to NDK>/android-ndk-r8b/build/tools/.." "<path to NDK>/android-ndk-r8b/build/tools/../.." 

가 build-gcc.sh 파일을 보면, 그것은 저를 가져 왔습니다 1771 추가 조사보다 훨씬 적은 선이 있다 이 오류는 /toolchain-src/gcc/gcc-4.6.1/configure 파일에서 발생한다고 생각하지만 해결해야 할 부분을 알지 못합니다.

아무도 내가 이것을 고칠 수있는 방법을 알고 있습니까? 나는 이미 많은 것을 읽고 시도했기 때문에 외부 링크 나 미리 만들어진 솔루션 (예 : CrystaX 'custom ndk-r7)을 찾고 있지 않습니다.

+0

왜 downvote? – Phil

답변

2

이상하게도 기존 NDK를 삭제하고 다시 보관해야했습니다. 그 후 그것은 효과가있었습니다. 원래 NDK를 첫 번째 단계로 설치했지만 15 단계 전에 이동해야합니다.