adsense



[cocos2d-x] arm64-v8a prebuilt 이슈

※이슈 확인 버전 : cocos2d-x 3.11, 3.11.1
※환경 : 안드로이드 스튜디오 2.1.1

6월 3일 오전에 안드로이드 스튜디오에서 SDK와 NDK를 업데이트했더니, 기존에 잘 되던 NDK빌드가 갑자기 안되기 시작했습니다.

빌드 시도 중에 발생한 에러 메시지는

Android NDK: ERROR:[프로젝트폴더]\proj.android-studio\../cocos2d/external/freetype2/prebuilt/android/Android.mk:cocos_freetype2_static: LOCAL_SRC_FILES points to a missing file
Android NDK: Check that [프로젝트폴더]/proj.android-studio/../cocos2d/external/freetype2/prebuilt/android/arm64-v8a/libfreetype.a exists or that its path is correct

간단히 정리하면, arm 64비트 대응으로 프리빌트된 cocos2dx 라이브러리가 없다는 얘기입니다.
일단 현재 버전의 cocos2dx에서는 64비트 지원을 따로 처리하지 않고 armeabi만 쓰고 있기 때문에 arm64-v8a 프리빌트를 찾을 필요가 없고, 실제로 그동안 없이 빌드만 잘 됐었는데 어디서 이걸 요구하게 된 건지 알 수가 없네요.


꽤 많이 헤맸는데, 일단 현재는 아래와 같은 방법으로 해결하고 있습니다.

[프로젝트폴더]/proj.android-studio/app/jni/ 폴더의 Application.mk 파일을 열어, 최상단에

APP_ABI := armeabi

줄 추가.

완벽하게 해결되었는지는 알 수 없지만, 일단 이것으로 에러를 내지 않고 다시 빌드/앱 작동을 확인했습니다.

※아마도 기존 ndk에서는 빌드대상 칩셋을 지정하지 않으면 디폴트로 armeabi를 선택해줬는데 업데이트 한 후로는 명시적으로 해주지 않으면 안되거나 내부적으로 all로 대상을 잡도록 하는게 아닐까 싶군요.


덧글

댓글 입력 영역


Books

Geek라이프

메가 드라이브 퍼펙트 카탈로그
마에다 히로유키 저/조기현 역

미소녀 일러스트 테크닉
B-은하, pen스케, 카와이 저/정유진 역

핵심강좌! Cocos2d-x
이재환 저

피규어의 교과서 레진 키트 & 도색 입문 편
후지타 시게토시 저/김정규 역
예스24 | 애드온2
일본서적 전문사이트 NEPIC