我一直在研究一些在 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 文件命令或变量。