Я хочу сделать простой, минималистичный пользовательский кроссплатформенный установщик для конкретного приложения Qt. Программа установки выглядит следующим образом:
Но в одном случае использования данные для хранения имеют длину> 5 ГБ. Я пробовал следующее:
Использование Qt Installer Framework
- Запрещает автономные обновления.
- Это невозможно (или это невозможно)очень сложно) создать пользовательский интерфейс Qt Quick Controls 2, как показано выше
Статическая компиляция Qt и встраивание ресурса с помощью rcc
- Успешная компиляция Qt статически
- Использование
CONFIG += resources_big
в .pro
файле для двухпроходного инструмента rcc
для компиляции больших ресурсов - Работает ли для файлов с <2GB, но не для более крупных. <strong>Я использую это для файлов с <2GB </strong>
- Если> 2GB, компоновщик (
ld
) завершается ошибкой с ...relocation truncated to fit...
- Я добавил флаг
-mcmodel=medium
какпредложил здесь . Это не работает, а также -mcmodel=large
, -Wl,--image-base -Wl,0x100000000
, -Wl,--image-base -Wl,0x180000000
Статическая компиляция Qt и добавление данных в конец исполняемого файла (похоже, этолучший подход для> 2 ГБ файлов)
- Добавить мой> 5 ГБ сжатый zip-файл теста
- Добавить 8 байтов с размером в байтах
- Работает в Linux
- Работает в Windows без больших файлов (показывает Это приложение не может работать на вашем ПК )
Я хочу получить несколько советов о том, какчтобы третий подход работал, так как он кажется лучшим для файлов> 2ГБ. Но новые и свежие идеи тоже приветствуются.
Также приветствуется альтернативная платформа кроссплатформенной установки, которая исправляет недостающие возможности Qt.
Я не хочу привлекать winapi
если возможно. Но короткое и простое в реализации решение также будет принято.
Кстати, у меня в настоящее время есть компьютер с 4 ГБ оперативной памяти. Но это не было проблемой.