2012-12-10 7 views
0

Visual Studio 및 MinGW/GCC로 컴파일 된 일부 C++ 코드를 사용해 왔습니다.소스 파일에 절대 경로를 포함해야하는 Android NDK

저는 모든 소스 파일에서 상대 경로를 사용하고 있습니다.

#include "../../../stuff.h" 

그러나 Android NDK에서 컴파일 할 때 큰 문제가 발생합니다.

헤더 파일에 다른 헤더 파일의 상대 포함이있는 경우 NDK에 원래 파일과 관련된 상대 경로가 포함 된 것처럼 보입니다.

그래서 #include "../../header.h"

을하고 "a/header.h"의 내부 내가 대신 "hello.h"에서 포함의

#include "../hello.h" 

"a/b/c/source.cpp"에 생각는 source.cpp 파일 경로를 기준으로 이동합니다. 그것은 결국 그것을 찾을 것입니다 "a/b/header.h"

이것은 나를 고칠 수있는 것은 절대적인 경로가되도록 헤더 파일 내에 모든 포함을 다시 작성하는 것인데, 이것은 큰 고통입니다. NDK로 이것을 피할 수있는 방법이 있기를 바라고 있습니다. 나는 정말로 문제가 실제로 무엇인지를 확신하지 못한다. 보통 설정해야 할 파일 커맨드 나 변수를 만들 수있다.

답변

1

당신은 당신의 android.mk에

LOCAL_C_INCLUDES :=" YOUR FILES DIRECTORY" 

을 추가해야