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

JNI 헤더파일 추가 질문 드립니다,

0 추천
현재 비쥬얼 스튜디오 2008 에서 제작한 프로젝트를 JNI를 통해 이클립스에서 구동시키려 하는데

 

문제가 있어서 질문드립니다.

 

#include "@@@.h"

형식의 파일들은 단순히 파일을 jni 에 추가시키면 활용이 되는데

#include <@@@.h> //#include <@@@> 형식의 헤더는 읽는것도 있고 못읽는것도 있네요 ㅠㅠ

 

예를 들어 #include <ctime> 이라던가 #include <jni.h> 등은 잘 찾아오는데

#include <pshpack1.h> 등의 헤더는 찾아오지를 못하네요

 

혹시 비쥬얼 스튜디오에 헤더파일들을 jni 에서 사용하려면 어떤 방법을 이용해야 하는지 알수 있을까요?

조언 부탁드리겠습니다 ㅠㅠ
익명사용자 님이 2015년 6월 2일 질문

1개의 답변

0 추천
비쥬얼 스튜디오에서 사용하는 헤더파일과 ndk의 해더 파일을 같지 않습니다.

가정 먼저 주의 하셔야 하는 부분은 ndk가 지원하는 c++ lib 는 모든 c++ 표준 라이버러리를 지원하지 않습니다.

이부분은 NDK 설명 문서들로 확인 하실 수 있습니다.

그리고 c나 c++의 #include <....> 하는 부분의 <> 은 미리 정의된 include path에서 include하라는 의미입니다.

그리고 이 include path는 각 개발환경마다 다르게 설정 되어 있습니다.

이를 테면 비쥬얼 C/C++ 같은 경우는 프로젝트설정에서 정의된 include path 가 있고(아마 보통은 program file하위에 microsoft sdks나 비쥬얼스튜디오의 설치 디렉토리 하위에)

ndk는 ndk가 설치된 디렉토리 하위 있을 것입니다.

참고로

헤드 파일만 정상 로드한다고 문제가 다 해결되지는 않을 것입니다.

따랏 ndk가 지원하는 헤더인지를 먼저 확인 하셔야 할 듯 합니다.
컴러기 (22,230 포인트) 님이 2015년 6월 2일 답변
답변 감사합니다!

그런데 혹시 ndk 에서 지원하지 않는 헤더는 따로 사용할 방법이 없는건가요?

아무리 찾아봐도 관련된 답변을 찾지 못해서요
애석하게도 ndk에서 지원하지 않는 헤더라면...
직접 그기능을 구현하셔야 할 가능성이 높습니다.
대체 가능한 공개 코드가 있다면 찾는 것도 방법이겠구요.(쉽지 않습니다 ㅡ.ㅡ)
특히 mfc의 부분들은 거의가 문제를 일으킬 확률이 높습니다.
...