2012-12-10 70 views
0

我一直在研究一些在Visual Studio上編譯並且使用MinGW/GCC的C++代碼。Android NDK要求在源文件中包含絕對路徑

我一直在我所有的源文件中使用相對包含路徑。

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

但是,當我在Android NDK上編譯時發生了一個巨大的問題。

如果一個頭文件有一個相對包含另一個頭文件,它看起來像NDK包含它相對於原始文件。

因此,如果"a/b/c/source.cpp"

我做#include "../../header.h"

"a/header.h"裏面我做

#include "../hello.h" 

而是包括"hello.h"的,我認爲它會相對source.cpp文件路徑。它最終會在"a/b/header.h"

這是可以修復的,我重寫所有包含在頭文件中的絕對路徑,這是一個巨大的痛苦。我希望有一種方法可以避免使用NDK。我甚至不確定問題究竟是什麼,它可能是我需要設置的一些常見的makefile命令或變量。

回答

1

您應該添加

LOCAL_C_INCLUDES :=" YOUR FILES DIRECTORY" 

到您的android.mk

相關問題