Qsettings работает для 32-битного apk, но не создает файл в моем 64-битном apk - PullRequest
0 голосов
/ 27 января 2020

Я работаю над приложением IOS / android, созданным с помощью QtCreator. Для Android мне нужны 32- и 64-разрядные версии APK, чтобы иметь возможность загрузить его в Playstore. Моя 32-битная версия работает отлично, но моя 64-битная версия не сохраняет конфигурацию. Я использую Qsettings для создания файла .conf. Когда я делаю это с 32-битным приложением, я легко могу найти свой файл .conf, где бы я его ни создавал, но в моей 64-битной версии папка остается пустой. Я проверил, и я могу создавать папки и файлы в той же папке, которую я использую для моего файла .conf, поэтому это не похоже на проблему с разрешениями. Кто-нибудь знает, нужно ли Qsettings что-то особенное, чтобы иметь возможность писать файл для 64-битных приложений? Я прочитал do c (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();

1 Ответ

0 голосов
/ 30 января 2020

Я наконец нашел свой ответ. Я использовал более старую версию Qt (5.10), и есть ошибка (https://bugreports.qt.io/browse/QTBUG-68344), которая влияет на QSettings. Если вы находитесь в такой ситуации, то легко исправить это пересобрать Qt с этим аргументом для команды configure:

-no-feature-linkat
...