Cygwin + NDK r5의 안드로이드 빌드 에러
Development2011. 1. 21. 18:14
현재 회사에서 진행중인 안드로이드 프로젝트의 so파일 빌드 환경을 NDK r5 버전으로 업그레이드 하면서 문제가 발생하였다. (결과적으로는 내 환경변수 셋팅에 문제가 있었던 거지만...ㅠㅠ)
일단, 내 작업 환경은 "Windows 7 64bits + Cygwin" 이다. 즉, make 파일들로 빌드할 내용을 정의해 놓고 cygwin의 make.exe로 so파일을 생성하는 것이다. 좀 차이가 나긴 하지만 분명 그 이전에 사용하고 있던 환경인 1.6_r1에서는 문제없이 잘 빌드가 되었다. 헌데, r5버전으로 버전업을 시키고 난 이후부터 C소스파일에 정의되어 있는 "#include <stdio.h>"에서부터 "sys/cdefs.h" 등을 못 찾겠다느니 하는 에러가 발생하는 것이다.
분명히 make파일에도 헤더파일들을 include하기 위한 path들이 제대로 들어가 있는데, 도대체 왜 못찾는다고 난리부르스인 것일까. 한참을 이리저리 삽질을 하다가 발견을 하였다. ㅠㅠ
결론은, 환경변수나 maek 파일에 정의되어 있는 path...
즉,
삽질 끝~ ^^v
일단, 내 작업 환경은 "Windows 7 64bits + Cygwin" 이다. 즉, make 파일들로 빌드할 내용을 정의해 놓고 cygwin의 make.exe로 so파일을 생성하는 것이다. 좀 차이가 나긴 하지만 분명 그 이전에 사용하고 있던 환경인 1.6_r1에서는 문제없이 잘 빌드가 되었다. 헌데, r5버전으로 버전업을 시키고 난 이후부터 C소스파일에 정의되어 있는 "#include <stdio.h>"에서부터 "sys/cdefs.h" 등을 못 찾겠다느니 하는 에러가 발생하는 것이다.
분명히 make파일에도 헤더파일들을 include하기 위한 path들이 제대로 들어가 있는데, 도대체 왜 못찾는다고 난리부르스인 것일까. 한참을 이리저리 삽질을 하다가 발견을 하였다. ㅠㅠ
결론은, 환경변수나 maek 파일에 정의되어 있는 path...
/cygdrive/c/어쩌구저쩌구...
요렇게 하면 안된다. 정확하게 뭐가 문제인지는 모르겠지만, NDK r5 에서는 저렇게 쓰면 에러난다. ㅡㅡ;;즉,
c:/어쩌구저쩌구
요렇게 환경변수나 make 파일의 path를 정의해 줘야 하는 것이다. 또한, 디렉토리를 구분하는 놈을 '\'로 쓰면 make의 문제인지 모르겠지만 제대로 인식을 하지 못하는 경우가 있더라. 이것도 모두 '/'를 사용하도록...삽질 끝~ ^^v
'Development' 카테고리의 다른 글
[vsftpd] 설치(install) 및 기본 설정(configuration setting) (0) | 2011.02.22 |
---|---|
[Ubuntu] HDD 추가, 파티션(partition) 설정, 포맷(format) 그리고 마운트(mount) (0) | 2011.01.24 |
iptime 유무선 공유기 + ASUS M4A88TD-V EVO/USB3 = Wake On Lan을 이용한 초 간단 원격부팅 (0) | 2011.01.19 |
슬립모드(Sleep mode)에서 깨어나 화면을 밝게 하기 (0) | 2011.01.13 |
[ShowMeSms] 3. Wake up from the sleep mode & Epillogue (0) | 2011.01.13 |