2010/09/29 00:46
내가 CMake를 사용해 안드로이드에서 빌드하는 방법에 대한 정리이다.
우선 안드로이드, NDK를 사용하는 환경에서는 GCC를 일반적인 환경에서와 달리 추가적으로 설정해야 할 것들이 많은데, 이를 쉽게 할 수 있도록 하는 스크립트로 android-gcc가 있어서 이를 사용해 보았다. 하지만 CMake를 통해 빌드 하기엔 다음과 같은 문제가 있었고 다음과 같이 수정하였다.
설치 방법
윈도우즈
리눅스
예제
CMakeLists.txt
test.cpp
위와 같은 파일이 A라는 디렉토리에 있다고 가정하면 빌드 하는 방법은 다음과 같다.
우선 andro-gcc/CMake에 있는 파일을 소스가 있는 디렉토리 A로 복사한다.
configure-android를 실행한다. (권한 설정이 안되 있으면 chmod 755 configure-android를 실행한다)
build-android 디렉토리로 이동한다.
make를 실행하면 test 파일이 생성 된다.
이를 adb를 이용하여 파일을 넣고 실행하면 정상적으로 실행 되는 걸 볼 수 있다.
andro-gcc 파일은 이 링크로 받으면 된다.
andro-gcc_1.7z
질문사항은 리플로 받습니다.
우선 안드로이드, NDK를 사용하는 환경에서는 GCC를 일반적인 환경에서와 달리 추가적으로 설정해야 할 것들이 많은데, 이를 쉽게 할 수 있도록 하는 스크립트로 android-gcc가 있어서 이를 사용해 보았다. 하지만 CMake를 통해 빌드 하기엔 다음과 같은 문제가 있었고 다음과 같이 수정하였다.
- os.system을 사용하여 실행하기 때문에 스크립트로 생성한 명령의 길이에 제한이 있다. 하지만 CMake와 같은 툴을 사용하여 만든 Makefile은 1024 이상의 매우 긴 명령이 생성 되기 때문에 적절치 않다. 그래서 스크립트 파일에 명령을 넣고 실행하게 수정하였다
- Python으로된 스크립트는 리눅스에서는 문제 없지만 윈도우 환경에서 사용하는 경우도 고려 하여 py2exe를 사용하여 실행 파일을 만들어 실행하게 하였다.
- CMake의 경우 gcc의 prefix를 사용하여 다른 ar과 같은 툴들을 검색한다. 즉 arm-eabi-gcc면 arm-eabi-ar을 검색한다. 이때 andro-gcc로 gcc를 설정하면 정상적으로 컴파일 하지 못함으로 다른 툴들의 prefix를 andro로 변경한 복사본을 만드는 스크립트를 만들었다.
- 윈도우에선 exe가 아니면 실행에 문제가 생기는 경우가 있다. 이를 위해 py2exe를 통해 exe를 만들어 실행하도록 하였다.
설치 방법
윈도우즈
펼쳐두기..
리눅스
펼쳐두기..
예제
CMakeLists.txt
펼쳐두기..
test.cpp
펼쳐두기..
위와 같은 파일이 A라는 디렉토리에 있다고 가정하면 빌드 하는 방법은 다음과 같다.
우선 andro-gcc/CMake에 있는 파일을 소스가 있는 디렉토리 A로 복사한다.
configure-android를 실행한다. (권한 설정이 안되 있으면 chmod 755 configure-android를 실행한다)
build-android 디렉토리로 이동한다.
make를 실행하면 test 파일이 생성 된다.
이를 adb를 이용하여 파일을 넣고 실행하면 정상적으로 실행 되는 걸 볼 수 있다.
andro-gcc 파일은 이 링크로 받으면 된다.
andro-gcc_1.7z
질문사항은 리플로 받습니다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
| Android And Ogre3D Dependencies (2) | 2011/05/18 |
|---|---|
| Ogre3D & Android & GameKit (4) | 2011/03/09 |
| Ogre & Android (0) | 2010/10/18 |
| CMake와 안드로이드. (0) | 2010/09/29 |

댓글을 달아 주세요