0

我一直在研究一些在 Visual Studio 和 MinGW/GCC 上编译的 C++ 代码。

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

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

但是,当我在 Android NDK 上编译时会出现一个巨大的问题。

如果一个头文件有一个相对于另一个头文件的包含,看起来 NDK 包含它相对于原始文件。

所以如果在"a/b/c/source.cpp"

我愿意#include "../../header.h"

"a/header.h"我的内心深处

#include "../hello.h"

而不是包括 from"hello.h"我认为它是相对于source.cpp文件路径的。它最终会在"a/b/header.h"

这可以通过我将头文件中的所有包含重写为绝对路径来解决,这是一个巨大的痛苦。我希望有一种方法可以通过 NDK 避免这种情况。我什至不确定问题到底是什么,它可能是我需要设置的一些常见的 make 文件命令或变量。

4

1 回答 1

1

你应该添加

LOCAL_C_INCLUDES :=" YOUR FILES DIRECTORY"

进入你的 android.mk

于 2012-12-23T19:56:07.037 回答