【问题标题】:Qsettings works for 32bit apk but does'nt create file in my 64bit apkQsettings 适用于 32 位 apk 但不在我的 64 位 apk 中创建文件
【发布时间】:2020-05-13 01:15:15
【问题描述】:

我正在开发一个使用 QtCreator 构建的 IOS/android 应用程序。对于 Android,我需要 32 位和 64 位版本的 APK 才能将其上传到 Playstore。 我的 32 位版本运行良好,但我的 64 位版本不保存任何配置。 我正在使用 Qsettings 创建一个 .conf 文件。当我使用 32 位应用程序执行此操作时,无论我在何处创建它,我都可以轻松找到我的 .conf 文件,但对于我的 64 位版本,该文件夹仍然是空的。 我检查了一下,我能够在我用于 .conf 文件的同一文件夹上创建文件夹和文件,因此这似乎不是权限问题。 有谁知道 Qsettings 是否需要一些特殊的东西才能为 64 位应用程序编写文件?我已阅读文档 (https://doc.qt.io/qt-5/qsettings.html) 但找不到任何信息。

QSettings::setPath(QSettings::NativeFormat,QSettings::UserScope,QStandardPaths::writableLocation(QStandardPaths::StandardLocation::GenericDataLocation) + "/private");
    QSettings settings("Settings", "test");
    settings.setValue("test", "text");
    settings.sync();

【问题讨论】:

  • 请提供一个最小的例子。

标签: android qt 32bit-64bit qsettings


【解决方案1】:

我终于找到了答案。我使用的是旧版本的 Qt (5.10),并且有一个影响 QSettings 的错误 (https://bugreports.qt.io/browse/QTBUG-68344)。 如果您处于这种情况,一个简单的解决方法是使用 configure 命令的该参数重建 Qt:

-no-feature-linkat

【讨论】:

    猜你喜欢
    • 2020-05-04
    • 2019-09-09
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多