Я собираю CEF (Chromium Embedded Framework) для нашей локальной презентации html5.
Я должен сказать, что я очень новый для всего этого (CEF и C ++).
Я уже оптимизировал проект cefclient для презентации, но мне нужно встроить все файлы html / js / css / etc в проект (чтение из локального хранилища не вариант).
Как я понял, для встраивания нужно использовать файлы .zip или .pak (переименованный в zip). Но как я могу использовать их внутри проекта?
Должен ли я использовать некоторые библиотеки для разархивирования (zlib?) Или есть другой популярный способ? И как я могу быть уверен, что файлы будут скомпилированы в проект?
Извините за такие основные вопросы, но об этом очень мало информации (или Google меня сегодня ненавидит).
Спасибо за любую помощь!
UPD: нашел отличный инструмент — WBEA (http://asterclick.drclue.net/WBEA.html), похоже, что я хочу, но работает довольно медленно (с JS).
UPD 2: Оказывается, существует множество способов сделать настольное приложение HTML5, например, Node-Webkit.
Вот статья, которая сравнивает некоторые из них http://clintberry.com/2013/html5-apps-desktop-2013/
Тебе нужно:
Класс CefZipReader будет удобен для реализации обработчика из шага 3.
Оглянись вокруг, может быть что-то вроде того, что ты хочешь, уже где-то существует.
Это звучит очень похоже на самораспаковывающиеся установщики.
Не нужно ничего компилировать, просто соедините zip до конца исполняемого файла. Все, что вам нужно сделать, это найти смещение во время выполнения от начала исполняемого файла. Это можно легко сделать, написав большое магическое число и найдя его позже.
Пример Linux:
cat app magic_number data > new_app
Пример Windows:
copy app.exe /B + magic.dat /B + data.dat /B new_app.exe