[Tip] NDK로 curl x86 컴파일시 sigsetjmp, siglongjmp 함수 없는 문제 Mobile App Dev.

컴파일시 아래와 같은 오류가 발생 합니다.

E:/android/android-ndk-r8d/toolchains/x86-4.6/prebuilt/windows/bin/../lib/gcc/i686-linux-android/4.6/../../../../i686-linux-android/bin/ld.exe: ./obj/local/x86/curl.a(hostip.o):(.text.alarmfunc+0x21): error: undefined reference to 'siglongjmp'
E:/android/android-ndk-r8d/toolchains/x86-4.6/prebuilt/windows/bin/../lib/gcc/i686-linux-android/4.6/../../../../i686-linux-android/bin/ld.exe: ./obj/local/x86/curl.a(hostip.o): in function Curl_resolv_timeout:(.text.Curl_resolv_timeout+0x156): error: undefined reference to 'sigsetjmp'
collect2: ld returned 1 exit status
/cygdrive/e/android/android-ndk-r8d/build/core/build-binary.mk:397: recipe for target `obj/local/x86/libgame.so' failed

라이센스 문제로 인해 구글측에서 두 개 함수에 대해 NDK에 포함하지 못하도록 했다고 합니다.

해결 방법은 NDK r8 버전 기준으로

android-ndk-r8d\platforms\android-9\arch-x86\usr\lib
android-ndk-r8d\platforms\android-14\arch-x86\usr\lib

두 폴더에 libc.tar.bz2 받아서 libc.so를 덮어 쓰신 후 컴파일 하시면 됩니다.

이거 찾느라 몇일을 삽질 했네요.


덧글

댓글 입력 영역


 
 

통계 위젯 (블랙)

63
26
197063