在 Qt Android 中使用 C++17
Posted
技术标签:
【中文标题】在 Qt Android 中使用 C++17【英文标题】:Use C++17 in Qt Android 【发布时间】:2018-02-06 15:56:54 【问题描述】:Qt 建议使用 android NDK r10e,它使用不编译 C++17 代码的 GCC 4.9。那么仍然可以用 C++17 编写 Qt Android 应用程序吗?
【问题讨论】:
出于兴趣,如果您选择使用更高版本的 NDK,QT 是否会遇到任何副作用? @MichaelDodd 如果我使用 r16,应用程序将无法启动。根据wiki,这个问题似乎很常见 您必须使用 clang 和更新的 NDK。这将生成大约二进制文件。大 30%,目前不受 Qt 支持。但有些人报告说它可以工作。 我不确定,但可能是Android平台插件在使用工具链时与应用程序捆绑在一起造成了限制.. 【参考方案1】:对于 C++17 支持,您需要使用 NDK 17 或更高版本。 你可以使用 Qt 5.12.X 对我来说很好用 NDK 19。
NDK下载页面:https://developer.android.com/ndk/downloads/index.html
PS:我尝试使用r20但没有成功,然后我正在使用r19c。
我没有尝试使用 r18c,但要获取 r19c 链接,请像示例一样替换 url 的版本部分。 (MacOS 的链接)
例如:https://dl.google.com/android/repository/android-ndk-r20-darwin-x86_64.zip
变成:https://dl.google.com/android/repository/android-ndk-r19c-darwin-x86_64.zip
来源: https://doc.qt.io/qt-5/android-getting-started.html
https://developer.android.com/ndk/guides/cpp-support?hl=pt-br
【讨论】:
以上是关于在 Qt Android 中使用 C++17的主要内容,如果未能解决你的问题,请参考以下文章
从 QT / C++ 项目访问 Android 日历提供程序