@Leatington

Как добавить файл в проект при компиляции, чтобы потом дропнуть его на ПК?

Возможно, глупый вопрос, но ответа я не нашёл. У меня есть zip-архив, как я могу добавить его в проект и после запуска программы "выгрузить" его на компьютере? Скачивать из интернета не вариант, а если конвертировать в base64, то компилятор выводит ошибку о том, что строка слишком большая
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
@rPman
Правильный способ - создать свой инсталятор, который в свою очередь все развернет, скопирует и спросит пользователя куда, nsis тебе уже посоветовали. Есть по проще - самораспаковывающиеся архивы, sfx модули есть по до все от winrar до zip

Есть не самый тривиальный способ хранения файлов прямо в exe-шнике как часть данных в секции .data, для c/c++ это создание объектного .obj файла с последующей его линковкой, при запуске такие данные доступны нативно без предварительной загрузки (формально операционная система мапит exe-шник в память и загружает данные по мере необходимости максимально эффективно).

Сделать это можно с помощью xxd (генерирует cpp вида data = {0x11,0x22,...) явно не самый эффективный способ но зато самый универсальный, либо с помощью objcopy
https://habr.com/ru/post/545946/
https://stackoverflow.com/questions/47414607/how-t...
https://medium.com/@irony.superman/convert-binary-...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Собрать дистрибутив своей программы, при установке которого из общего файла выгрузится и программа, и нужные ей файлы. Например, открытым и бесплатным https://sourceforge.net/projects/nsis/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы