2014-02-28 2 views
3

의 이름이없는 - 반복 톤으로오류 : 기본 코드베이스를 컴파일, 나는 다음과 같은 오류를 받고 있어요 동안 '__NDK_FPABI__'는 유형

<NDK-HOME>/platforms/android-17/arch-arm/usr/include/jni.h:235:68: error: expected ';' at end of member declaration 
<NDK-HOME>/platforms/android-17/arch-arm/usr/include/jni.h:235:70: error: '\__NDK_FPABI__' does not name a type 
... 

.

플랫폼과 관련된 세부 사항은 다음과 같습니다 -

Native OS: Windows 7 (64 bit) with Cygwin64 
NDK Version: r9c 

유사한 문제가 here을보고되었다. 그러나 LOCAL_CFLAGS을 수정 한 후에도 중간 파일을 찾을 수 없습니다.

여러분 중 일부가 이미이 문제에 직면 해 있었는지 궁금한 점이 있었습니까? 그렇다면이 문제를 해결할 방법이 있습니까?

답변

3

좋아, 결국이 __NDK_FPABI__ 오류를 없애고 내 기본 코드가 올바르게 컴파일되었습니다. 실제로 이전 게시물의 링크에 Andrew가 제안한 중간 파일 (* .i 및 * .ii)에 약간의 힌트가있었습니다. 이들은 대개 적절한 헤더를 찾는 것과 관련이 있습니다. 관련성있는 변경이 이루어지면 모든 것이 매력처럼 작동합니다.

  • 문제는 헤더 파일과 관련된되었다 -이 문제를 디버깅하는 동안

    몇 가지 나는 배웠다. 특정 헤더가 /usr/include에서 픽업되었지만 그렇지 않은 경우 $ NDK_HOME/platform/$ ANDROID_VERSION/$ ARCH/usr/include에서 픽업되어야합니다. 안드로이드 makefile에서 필요한 변경을하면 나를 위해 문제가 해결되었습니다.

  • 항상 핫 픽스를 NDK 파일에 추가하려는 유혹에 빠져 있습니다. 이렇게하면 장기적으로 인생이 훨씬 쉬워 질 것입니다.
  • 하나는 중간 파일을 찾아야한다 (* .I * .ii, * s와 몇 가지 다른) 대신 $ PROJECT_ROOT/JNI (가정 네이티브 코드가있다)의 $ PROJECT_ROOT에서.
  • 최신 NDK 릴리스, 즉 ndk-r9d은 __NDK_FPABI__ 관련 오류로 일부 문제를 수정합니다.

희망이 있습니다.

+0

* .i 또는 * .ii 중간 파일 - 팁을 찾을 수 없습니까? 편집 : 신경 쓰지 마라. 이미 $ PROJECT_ROOT/jni 대신에 $ PROJECT_ROOT를보기위한 힌트를 주었다. 지금 발견! –

+0

당신이 준 NDK 경로 대신 C : \\ cygwin \\ usr \\ include에서 특정 파일을 가져 오는 것과 같은 문제가있는 것 같습니다. 그러나 문제를 해결하기 위해 "Android makefile에서 필요한 변경"을 수행하는 방법에 대해 확신 할 수 없습니다. –

+1

좋아,이 줄을 Android.mk에 추가 한 것 같습니다. 'LOCAL_CFLAGS : = -IC : \ Users \ Tony \ src \ android-ndk-r10c \ platforms \ android-9 \ arch-arm \ usr \ include \ -IC : \ Users \ Tony \ src \ android-ndk-r10c \ platforms \ android-9 \ arch-arm \ usr \ include \ sys' –

관련 문제