Android Studio 3.0.1 NDK致命错误:stdint.h:没有这个文件或目录。

4

我的应用程序包含本地代码,在之前的Android Studio版本中运行得很完美。我刚刚升级到3.0.1版本,出现了以下错误:

/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文件在提到的路径中。我需要设置什么来访问那个文件吗?

注意:我正在使用MacOS。

2个回答

3
我刚刚从SDK文件夹中删除了最新版本16的ndk-bundle文件夹,并将旧的NDK版本(15c)放在那里。我从这里下载了以前的ndk版本。
最新版本的NDK似乎存在问题,目前这个方法对我来说是一种解决方案。

NDK r16 废弃了 gcc,请尝试使用 clang 工具链。如果您在 Application.mk 中设置了编译器,则意味着您应该删除 NDK_TOOLCHAINNDK_TOOLCHAIN_VERSION。对于 CMakeLists.txt,不要设置 ANDROID_TOOLCHAIN - Alex Cohn

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中的文件重定向到平台头文件,并非实际的头文件。
[编辑]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接