2017-11-06 21 views
0

arm-linux-androideabi-g ++を使用してlinuxからアンドロイドアプリをクロスコンパイルしようとすると、ヘッダファイルcstdargが見つからないというエラーが発生します。arm-linux-androideabi-g ++がヘッダcstdargを見つけることができません

common.h:27:19: fatal error: cstdarg: No such file or directory 
compilation terminated. 

私は/は/ usr /腕-linuxの-androideabiに見て/含まれている場合は、ヘッダーがありませんが、他のC++のヘッダファイルが存在しています。この問題を解決するにはどうすればよいですか?

答えて

1

<cstdarg>は、C++標準ライブラリの意味でのシステムヘッダではありません。 C++ヘッダーをコマンドラインに追加していないようです。それらは$ANDROID_NDK/sources/cxx-stl/の下に置かれます。もちろん、適切なライブラリを実装するためにヘッダーを使用していることを確認してください。

また、コンパイラ固有のCヘッダー(<cstdarg>によって使用されるため、少なくとも<stdarg.h>)を含める必要があります。

いくつかの標準ヘッダーは、コンパイラー固有の拡張機能、組み込み関数などを使用するため、コンパイラー固有のものがあります。 <stdarg.h>がその1つです。それらの性質のために、一般的なsysrootインクルードディレクトリにそれらを置くことはあまり意味がありません。ディレクトリ$ANDROID_NDK/toolchains/の下を見てください。