Qt Creator:Android 设置有错误。 NDK 目录结构不正确,安装在带空格的路径中
Posted
技术标签:
【中文标题】Qt Creator:Android 设置有错误。 NDK 目录结构不正确,安装在带空格的路径中【英文标题】:Qt Creator: Android settings have errors. NDK directory structure isn't correct and installed in a path with spaces 【发布时间】:2019-03-04 19:41:20 【问题描述】:我已经遇到这个问题 2 个月了。 Qt Creator 表明 ndk 路径和目录存在问题,尽管消息令人困惑。
每个 android 套件都会发生这种情况。
在 Qt Creator 中,查看Options -> Devices -> Android
,Android 设置显示两条错误消息,左侧带有红色“X”:
-
“X Android NDK 目录结构正确。”
“X Android NDK 安装到没有空格的路径中。”
我不知道消息 1 试图告诉我什么,这是目录的结构:
.
├── build
├── meta
├── ndk-build
├── ndk-depends
├── ndk-gdb
├── ndk-which
├── NOTICE
├── NOTICE.toolchain
├── prebuilt
├── python-packages
├── README.md
├── shader-tools
├── simpleperf
├── sysroot
├── toolchains
└── wrap.sh
关于第二条错误消息,这是路径:
/home/user/Android/android-ndk-r18b
我看不出上面路径中怎么会有空格。
当我尝试使用 Android Kit 构建任何项目时,我在输出中收到以下错误:
opt/Qt/5.12.0/android_armv7/include/QtCore/qglobal.h:45:12: fatal error: 'type_traits' file not found
信息:
Ubuntu 18.04; Qt 5.12.0; Qt Creator 4.8;【问题讨论】:
我在 MacOS 上遇到了同样的问题。我修复了它更新我的编译器(我认为我以前版本的环境变量/路径存在问题)。 【参考方案1】:我在基于 Ubuntu 18.04 的项目中遇到了这个问题, 为避免一些错误,我强烈建议您在 Android Studio 上下载 Android NDK:
Android Studio > 工具 > SDK 管理器 > SDK 工具 > NDK(并排),
如下图所示:
之后会安装在:
/home/(UserName)/Android/Sdk/ndk
所以我选择了这条路径作为Android Ndk路径,但这是@Oshio在他的回答的第二部分中所说的错误路径,在我的情况下,您必须选择“ndk”路径下的路径:
/home/(UserName)/Android/Sdk/ndk/20.0.5594570
如下图所示:
【讨论】:
【参考方案2】:我使用的是旧版本的 NDK。
如果我手动下载 NDK,它也不起作用。但是当我从 Android Studio 下载 NDK 时,它就可以工作了。
希望对你有帮助:)
【讨论】:
感谢您的回答,它让我想起了这篇文章。问题有所不同,您可以在我提供的答案中阅读。但是,如果您添加有关您的环境规范的更多信息,我会给您投票。 感谢您的回答,在我将 NDK 版本降级到 20.0.5594570 后它对我有用【参考方案3】:所有这些麻烦的根源是解压缩下载的ndk时的两个愚蠢的错误。
-
第一个错误是促使我发布此问题的原因,并且与我的低端计算机和我的 Ubuntu 18.04 有关。解压缩文件时,操作系统不会提供任何消息警告我该过程已完成。我的电脑大约需要 2 分钟才能完成提取,所以我猜我在提取所有文件之前复制并粘贴了文件夹。
在注意到这一事实并再次下载 ndk 后,我得到了同样的错误,尽管我确信提取成功。这是另一个愚蠢的错误:
解压 ndk 时,会创建一个文件夹,其中包含另一个名称几乎相同的文件夹,结构如下:
...android-ndk-r19c-linux-x86_64/android-ndk-r19c/
在 Qt Creator 中,我提供了...android-ndk-r19c-linux-x86_64/
的路径,而不是...android-ndk-r19c-linux-x86_64/android-ndk-r19c/
,在更改为正确的路径后一切正常。
重要提示:从Qt5.12开始,推荐使用最新的ndk版本。
【讨论】:
以上是关于Qt Creator:Android 设置有错误。 NDK 目录结构不正确,安装在带空格的路径中的主要内容,如果未能解决你的问题,请参考以下文章
Qt——Ubuntu下安装Qt Creator的方法步骤总结及其界面功能与基本设置简介(Qt简介Qt Creator版本选择软件入门常用设置)