OpenSL ES를 사용하기위해 NDK로 빌드를 하고 있는데, 컴파일러가 SLES/OpenSLES.h 파일을 찾지 못해 잠시 당황 했다.

 

분명 platform 디렉토리에는 위 경로에 헤더파일이 있는데 찾지를 못해서 뭐가 문제인가 고민을 좀 했다.

 

Android.mk 파일에 -I 옵션을 추가해 줘야 하나 고민하던 차에, stlport를 사용할 때도 Application.mk 파일에 한 줄만 넣어주면 되는데, 복잡하게 되어 있을리가 없을 것 같아서, 우선 ndk-build의 -d 옵션으로 빌드 중 어떤일이 일어나는지 살펴 봤다.

 

엄청난 양의 로그가 나오고나서, 마지막 줄에 자동으로 추가되는 -I 옵션을 확인할 수 가 있었다.

 

기본으로 포함하는 include path는 platform/android-3 였다.

 

역시나 해당 platform 버전에는 SLES가 없었고 말이지...;;

 

그래서 찾아보니 target platform을 지정하는 옵션이 있더라!

 

그리고

 

TARGET_PLATFORM=android-19

 

를 추가하니 문제 해결!

 

 

참고로, 당연한 이야기 이지만 link할 library는 명시적으로 추가 해 주어야 함.

 

-lOpenSLES

 

이렇게 말이지...

 

Posted by 세월의돌
리눅스 & 안드로이드2014. 5. 15. 16:20

Arduino 보드에서 Nokia Tune을 들어볼 수 있다.

 

해당 Note는 다음과 같다.

NOTE_E5, NOTE_D5, NOTE_FS4, NOTE_GS4, NOTE_CS5, NOTE_B4, NOTE_D4, NOTE_E4,

NOTE_B4, NOTE_A4, NOTE_CS4, NOTE_E4, NOTE_A4

 

각각에 대한 duration은 다음과 같다.

8, 8, 4, 4, 8, 8, 4, 4, 8, 8, 4, 4, 1

 

'리눅스 & 안드로이드' 카테고리의 다른 글

완전 만족하고 있는 G2 (LG-F320L)  (0) 2014.06.11
NDK에서 include path  (0) 2014.06.05
First arduino in my life  (0) 2014.05.13
NDK에서 C++ STL(C++11) 사용하는 방법  (0) 2014.05.12
vim에서 ^M 제거  (0) 2014.03.05
Posted by 세월의돌