私は、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でこれを回避する方法があることを願っています。問題が実際に何であるかさえよくわかりません。設定する必要がある一般的なファイル作成コマンドまたは変数である可能性があります。