free_gen
@free_gen

Как пользоваться утилитой res2h для переноса ресурсов в статические массивы?

Здравствуйте! Сразу скажу, что я полный нуб и чего греха таить - тупой, но не могу бросить дело. Желание творить перевешивает все здравые доводы.
Делаю маленький апгрейд в одном исполняемом бинарнике (точнее, в его исходниках взятых с гитхаба). После изменений и сборки (сборка проводилась строго по инструкции) он ожидаемо не завелся, т.к. внутри помимо простых файлов шрифтов и картинок (которые я менял) лежали так-же конвертированные .cpp этих файлов. Например, если в папке data есть файл arrow.svg, то в папке converted должен лежать файл arrow_svg.cpp
Внутри каждого такого файла код такого вида (я его укоротил, для наглядности):

//this file was auto-generated from "arrow.svg" by res2h

#include "../Resources.h"

const size_t arrow_svg_size = 838;
const unsigned char arrow_svg_data[838] = {
    0x3c,0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,
    0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30,0x22,0x20,
    0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,
    0x75,0x74,0x66,0x2d,0x38,0x22,0x3f,0x3e,0x0a,0x3c,
    0x0a,0x3c,0x2f,0x73,0x76,0x67,0x3e,0x0a
};

Так вот, в комментарии указано, что этот файл был получен при помощи res2h, которая является модом bin2h (bin2header). Я скачал все эти утилиты (в .exe) и по очереди пытался запустить и добиться хоть какого-то намека на работу, но все попытки были тщетны. При даблклике мелькает окно cmd и тишина. При загрузке из cmd появляются инструкции, но как я не пытался вводить пути исходника и готового цепепе - выводило сообщение , что эта программа не является исполняемым файлом (что-то в этом роде). В какой-то момент подумал, что наверное такое проще проделать под убунтой - нашел bin2h.deb - установил, и опять же делая все по инструкции (настолько, насколько я ее понял) ничего не добился. Вот и собственно вопрос, а вернее просьба - помогите юзверю завести эту утилиту. Желательно под виндой, и с поэтапными действиями, ибо из readme я мало что понял. Как, что и куда вводить. Будет круто, если кто-то поможет - возможно задача для кого-то проста, а я над ней бьюсь уже неделю.

Ну и опережая вопросы - никакие авторские права нарушать не собираюсь, просто хочу довести до ума GUI своей ретро-консоли, которая собрана на базе Raspberry Pi. С технической стороны все организовал хорошо, а вот с программной частью у меня все совсем плохо. Если быть совсем точным - просто хочу изменить файлы иконок и шрифт в GUI.

PS - на форуме по линуксу мне очень советовали ГИМП, который умеет в экспорт .c и .h, но на выходе получается совсем другой код в файле, что не приведет к успеху. Код должен быть именно таким, как в примере выше.

Возможно, есть какие-либо утилиты с графическим интрефейсом, которые могут экспортировать .cpp из любого файла?

Ссылки на утилиты:
res2h: https://github.com/HorstBaerbel/res2h
bin2h: www.deadnode.org/sw/bin2h
  • Вопрос задан
  • 178 просмотров
Решения вопроса 1
15432
@15432
Системный программист ^_^
1. Поместите в папку ваш файл для конвертации и программу res2h
fde6bf9f4a084537b9e1e64b1bd20265.jpg
2. Откройте командную строку (клик правой кнопкой мыши с удержанием Shift -> открыть окно команд)
41f3e3e92ece4b118af8d2183df14f4a.jpg
3. Выполните конвертацию командой res2h.exe file_to_convert.ext output_file.cpp -c
53e92d33752540a7ad63bd8a8a8243d8.jpg
4. Готово
ea9f467bef7a4b83801f7f14efa76162.jpg
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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