我正在尝试将 Qt 应用程序部署到 Android 设备,但我收到有关缺少 stdlib.h
的错误消息.我发现这个库实际上在子目录 tr1
中的包括。我修改了 include<stdlib.h>
至 include<tr1/stdlib.h>
.在此之后我遇到了 locale.h
的错误.该文件似乎不存在于 NDK 中的任何位置。
如果为桌面构建该应用程序可以正常工作,因为 Linux GCC 的所有文件都在适当的层次结构中。
任何修复?
最佳答案
最后,我解决了这个问题。这只是我下载的错误的 Android NDK 版本。我的系统架构是x86_64,Android架构是x86。我下载的版本是 x86_64 Android。下载时确保目标平台是您的 Android 架构。
此外,人们可能会发现一些解决方案建议使用 make-standalone-toolchain.sh 脚本创建独立构建并将 CXX 设置为该构建的主目录,以及作为设置“sysroot”。 请不要这样做。这根本不是必需的。只需从 Qt 本身的 Android 选项设置 NDK 路径。这应该足够了。
关于带有 Qt 的 Android NDK 无法找到头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25334311/