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로 이것을 피할 수있는 방법이 있기를 바라고 있습니다. 나는 정말로 문제가 실제로 무엇인지를 확신하지 못한다. 보통 설정해야 할 파일 커맨드 나 변수를 만들 수있다.