마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

cocos2d-x 사용하고있는데 기본 armeabi 폴더를 변경하고자합니다

0 추천
빌드하면 자동으로 생성되는 libs/armeabi/*.so 경로/파일을

libs/none/*.so 이곳으로 옮기고자 합니다 그런데 옮기고나니

02-18 18:33:06.433: E/AndroidRuntime(1448): Caused by: java.lang.UnsatisfiedLinkError: libstdc++.so: cannot open shared object file: No such file or directory
이렇게 libstdc++.so 파일을 찾을수없는 애러가 뜨는데, 이것저것 검색 삽질한결과

...android-ndk\platforms\android-8\arch-arm\usr\lib 안에 libstdc++.so이라는 파일을 찾았습니다

이걸가지고 또 이것저것 삽질하면서 libstdc++.so 파일을 물리적으로 libs/none에 옮겨도 보고 여러 .mk파일들을 몇번씩 열엇다 닫앗다 경로가있는건지 어디서 로드해주는것인지 찾아보고 알아보는데 NDK를 본격해본적이없고 기본지식이 얕다보니 한계가있는것같습니다 ㅜㅜ

요약해서..

멀쩡한 libs/armeabi/*.so 경로를 libs/none/*.so 로 변경해주니 이로인해 발생되는 위 찾을수없다는 에러메시지를 어떠한방법으로 해결해줘야할지 NDK 단에서 수정해줘야하는것인지 조언을 여쭈고자합니다
레드오션 (1,310 포인트) 님이 2013년 2월 18일 질문

1개의 답변

0 추천
 
채택된 답변
NDK는 라이브러리를 로드할때 동작하는 CPU Architecture에 따라서 libs/armeabi/ ,  libs/x86/ , libs/mips/ 등에서 so를 찾게 되어있습니다. 즉 정해진 디렉토리를 사용해야한다는 것이지요. 그런데 굳이 libs/none으로 옮기시려고 하는 이유가 있으신지요?
회색 (21,340 포인트) 님이 2013년 2월 18일 답변
레드오션님이 2013년 2월 20일 채택됨
덧글감사합니다
cocos2d-x로 만든 어플리케이션이있는데 이것을 구글TV에서 실행시켜보고자 하는데 라이브러리를 찾지못해 알아보니 기본 armeabi 경로는 TV?쪽에서 찾지못할거라고 none로 옮겨서 실행해보라고 하더군요 말한대로 none쪽으로 옮겨서 해보니 위와같은 에러메시지가 뜨네요
구글TV어떤 모델에서 테스트 중이신가요. 옛날 구글TV 초기에 나온 모델들중에 x86계열이 있었습니다. x86과 arm 둘다 지원하도록 빌드해보세요.
답장 늦어져서 죄송합니다 메일로알려주기 체크했는데 잘안오네요ㅜㅜ
LGU에서 나온 tvg에서 테스트하고있습니다
실은 x86 ,arm 각각에 빌드가 따로있는건지 몰랐습니다,. 이부분에대해서 따로 빌드하여 각각 아키텍쳐별로 테스트해보았으나 안되네요 ㅜㅜ
말씀해주신부분에 관련해서 계속 서치해보고있는데 괜찮으시면 조금더 조언부탁드립니다
잘모르는 모델이지만 최근 출시되었으니 x86은 아닐것 같습니다. 아마도 armeabi-v7a 일것 같은데 잘 안되나요? HW스펙도 안보이고 지옥과도 같은 허니콤 기반인거 같은데 제조사에 문의 하는게 가징 빠를것 같네요.
armeabi-v7a도 해보고 각각 해서 3가지 해봤는데 전부 되지않구요
/system 이나 /data 내부를 보고싶은데 tv루팅에 대한 자료는별로없고 함부로 루팅 할수도없을거같고..
구글tv 2.0에서는 NDK 가 지원이 안된다고 하던데..
LG쪽에 한번 문의해봐야할거같습니다
...