2017-11-21 14 views
2

ネイティブコードを持つアプリケーションが、以前のAndroid Studioバージョンで完璧に動作していました。私はちょうど3.0.1に更新され、このエラーAndroidスタジオ3.0.1 NDKの致命的なエラー:stdint.h:そのようなファイルやディレクトリがありません

/Users/salman.nazir/Library/Android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/include/stdint.h  
fatal error: stdint.h: No such file or directory 

を取得私が言及したパスに存在しているディレクトリ、stdint.hファイルをチェックします。そのファイルにアクセスするために何かを設定する必要がありますか?

:私はちょうどSDKフォルダからndk-bundle(最新バージョン16)のフォルダを削除して、そこに古いNDKバージョン(15C)を入れMacOSの

答えて

1

を使用しています。以前のndkバージョンhereをダウンロードしました。

最新のNDKで問題があるようです。これまでのところ、これは私が進めるためのハックです。

+0

NDK r16 ** gcc **は廃止されました。** clang ** toolchainを使用してみてください。 ** Application.mk **でコンパイラを設定した場合、これは 'NDK_TOOLCHAIN'または' NDK_TOOLCHAIN_VERSION'を削除する必要があることを意味します。 ** CMakeLists.txt **については、 'ANDROID_TOOLCHAIN'を設定しないでください。 –

1

クロスツールチェーン(gccなど)でSTL(別名libstdC++ 6)ヘッダーが見つからないというエラーが表示されます。

Android Developer Blogを詳しく見てみると、その理由が明らかになります。

~/Library/Android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/include/stdint.hのファイルは、プラットフォームヘッダーにリダイレクトされ、実際のヘッダーファイルではありません。

[編集]

    ここ
  • プラットフォームヘッダを置き換える新しいunified headersを使用する方法です。
  • そしてこのトピックについてはfurther informationです。
関連する問題