오늘 외부에서 일해야 하는 상황이 생겨서, 데스크탑에서 잘 빌드가 되던 소스를 통째로 랩탑에 복사해 왔었다.
그리고 NDK 빌드를 하는데 NEON을 사용할 때 필요한 cpufeatures라는 NDK에 기본적으로 포함된 소스를 찾지 못하는 문제가 발생했다.
NDK가 데스크탑에는 D드라이브에, 랩탑은 C드라이브에 설치되어 있었는데, 랩탑에서 계속 NDK path를 D에서 찾는 것이었다.
뭐가 문제인지 몰라 NDK에 포함된 기본 mk 파일들에서 사용하는 NDK_ROOT 변수는 정상적인 C드라이브의 경로로 설정이 되어 있었다. 정말 귀신이 곡할 노릇!!!
그러다 찾아낸 문제는 바로 NDK 빌드를 하면서 obj 디렉토리에 생성되는 .d 파일이었다.
파일 확장자로보아 dependency를 기록해 두는 파일인 것 같은데, cpufeatures에 대해 데스크탑에서 생성된 .d 파일이 남아 있어 계속 D드라이브에서 해당 소스를 찾았던 것이었다.
obj 디렉토리를 삭제하고 다시 빌드하니 잘 되었다. 아놔, 이것 땜에 허비한 시간을 생각하면.
Sigh.
(마침 John Carmack이 문제가 있는 USB 케이블 때문에 시간을 허비했다는 트윗에서 이렇게 한숨을 쉬던 기억이 나서 따라해봄ㅋㅋㅋ)
'리눅스 & 안드로이드' 카테고리의 다른 글
Android app.에서 getprop을 이용해 property 값 읽기 (0) | 2015.10.14 |
---|---|
특정 process를 이름으로 종료(kill)시키는 쉘(shell) 명령어(command) (0) | 2015.10.14 |
Eclipse에서 .apk에 .so 포함시키는 방법 (0) | 2014.07.11 |
android-ndk-profiler 사용하기 (0) | 2014.07.04 |
Android NDK에서 C++11 사용하기 (0) | 2014.06.30 |