Qsettings 适用于 32 位 apk 但不会在我的 64 位 apk 中创建文件

Qsettings works for 32bit apk but does'nt create file in my 64bit apk

我正在开发一个使用 QtCreator 构建的 IOS/android 应用程序。对于 Android,我需要 APK 的 32 位和 64 位版本才能将其上传到 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();

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

-no-feature-linkat