6 / 6 / 0
Регистрация: 14.10.2012
Сообщений: 36
|
|
1 | |
Упаковка ресурсов в exe. gcc (MinGW)21.10.2012, 17:31. Показов 6850. Ответов 9
Метки нет (Все метки)
Здравствуйте. Возникла задача упаковать различного рода файлы в программу. Пробовал создавать заголовочный файл с содержимым в духе const char = "<файл, открытый в блокноте>"; , но решение не красивое и не очень удобное.
В VS есть возможность просто добавить файл в проект как ресурс и на этом все... Вопрос: а). Есть ли утилита (не связанная со средой), которая к уже скомпилированному exeшнику добавит ресурс б). Если нет, то подскажите, как создать руками ресурс и подключить к приложению. Среда NetBeans, компилятор MinGW
0
|
21.10.2012, 17:31 | |
Ответы с готовыми решениями:
9
Упаковка ресурсов Gcc без MinGW Сборки MinGW(GCC-win32/win64) от niXman Запуск exe из ресурсов |
погромист
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
|
|
21.10.2012, 17:40 | 2 |
По моему, тут Dll нужно, но как его писать без понятия
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
21.10.2012, 17:45 | 3 |
Можно использовать файлы ресурсов VS. С MinGW идет утилита windres.exe, которая позволяет компилировать файлы ресурсов в объектные файлы.
windres имя_файла_ресурса.rc имя_объектного_файла_на_выходе.o Ну а дальше просто подцепляете его при линковке как простой объектный файл. В NetBeans просто добавляете файл ресурсов. После чего в его свойствах настраиваете необходимые действия ( запуск windres.exe ), а в свойствах проекта, в опции линкера ставите зависимость от имя_объектного_файла_на_выходе.o и так же добавляете его в дополнительные параметры линкера.
1
|
6 / 6 / 0
Регистрация: 14.10.2012
Сообщений: 36
|
|
21.10.2012, 17:52 [ТС] | 4 |
Насколько понял, в вашем примере файл .rc - уже данность)
А как получить его из, скажем, .bmp'шки? (VS не стоит, устанавливать из-за такой мелочи не хотелось бы)
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
21.10.2012, 17:58 | 5 |
Ryzhikov_A, сами ресурсы ( картинки, звуки и др. ) не хранятся в rc. В rc лишь описаны типы ресурсов, их имена и путь до них. То есть rc это текстовый файл, который точно так же компилируется в VS при сборке проекта.
1
|
6 / 6 / 0
Регистрация: 14.10.2012
Сообщений: 36
|
||||||
21.10.2012, 19:25 [ТС] | 6 | |||||
Toshkarik, с файлом ресурсов разобрался, к проекту .o с ресурсом цепляется (судя по размеру exe).
Но где-то ошибся... .rc: Код
IMAGE BITMAP "test.bmp"
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
21.10.2012, 19:41 | 7 |
Ryzhikov_A, а в VS пробовали компилировать?
0
|
6 / 6 / 0
Регистрация: 14.10.2012
Сообщений: 36
|
|
22.10.2012, 10:03 [ТС] | 8 |
Нет, не установлен... Делаю все в виртуальной машине (вообще же сижу под линем), раздувать размер виртуального диска на 1 Гб не очень хочется...
Но вряд ли дело в компиляторе Добавлено через 14 часов 6 минут GetLastError() после LoadImage возвращает 8, что расшифровывается как INSUFFICIENT MEMORY...
0
|
391 / 179 / 2
Регистрация: 14.03.2012
Сообщений: 443
|
|
25.10.2012, 22:02 | 9 |
Ryzhikov_A, Паритесь, паритесь с ресурсами. Прицепили бы просто в виде оверлея. Откройте ваш exe’шник и допишите в конец bmp’ку.
1
|
6 / 6 / 0
Регистрация: 14.10.2012
Сообщений: 36
|
|
25.10.2012, 23:18 [ТС] | 10 |
Не знал, что так можно, спасибо)
на данный момент смог реализовать упаковку и извлечение сырых ресурсов (RC_DATA), что меня в общем устраивает.
0
|
25.10.2012, 23:18 | |
25.10.2012, 23:18 | |
Помогаю со студенческими работами здесь
10
Изменение ресурсов в файле .exe .dll Запуск exe после извлечения из ресурсов Mingw-w64 MinGW TDM-GCC Linker Ошибки [gcc\MingW] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Преобразование полей (элементов управления содержимым) в обычный текст
РоΜа 23.01.2025
Возникла необходимость преобразовать поля в текст (те, что на вкладке разработчик добавляются) . Помучившись родил следующее:
Sub ПоляВТекст()
Преобразует все поля в текст (даты, текст,. . .
|
Как проверить существование директории в скрипте Bash
bt_guru 23.01.2025
При разработке скриптов Bash одной из ключевых задач является корректная работа с файловой системой, где особое место занимает проверка существования директорий. Эта операция становится критически. . .
|
Как работают срезы (slice) в Python
bytestream 23.01.2025
Python предоставляет разработчикам мощный и гибкий инструмент для работы с последовательностями данных - срезы (slices). Эта функциональность позволяет извлекать, модифицировать и управлять. . .
|
Как удалить подмодуль (submodule) в Git
bytestream 23.01.2025
При работе с крупными проектами в системе контроля версий Git разработчики часто сталкиваются с необходимостью управления зависимостями и внешними компонентами. Подмодули (submodules) представляют. . .
|
В чем разница между @staticmethod и @classmethod в Python. Декораторы методов
bytestream 23.01.2025
В Python декораторы методов представляют собой мощный инструмент, позволяющий модифицировать поведение функций и методов без изменения их исходного кода. Эта возможность является одной из. . .
|
Как преобразовать InputStream в String в Java
bytestream 23.01.2025
В мире Java-разработки работа с потоками данных является одной из ключевых операций при создании современных приложений. InputStream, как фундаментальный класс для обработки входных потоков данных,. . .
|
Как обновить форк (ответвление) репозитория в Git
bytestream 23.01.2025
Одним из наиболее мощных инструментов Git для организации совместной работы является механизм форкинга репозиториев, который позволяет создавать независимые копии проектов для дальнейшей разработки. . . .
|
Как работает async/await в C#. Асинхронное программирование в .NET
bytestream 23.01.2025
Введение в асинхронное программирование
Асинхронное программирование представляет собой важнейшую концепцию современной разработки программного обеспечения, особенно в контексте создания. . .
|
КуМир: полное руководство
bytestream 23.01.2025
Введение в КуМир: история создания и назначение
КуМир (Комплект Учебных МИров) представляет собой образовательную среду программирования, которая была создана для обучения основам алгоритмизации и. . .
|
Что такое OLAP. Где и как использовать многомерный анализ данных
bytestream 23.01.2025
Введение в OLAP-технологии
В современном мире бизнес-аналитика и обработка больших массивов данных играют ключевую роль в принятии стратегических решений. Организации накапливают огромные объемы. . .
|
MongoDB: что это, для чего нужна и как использовать
bytestream 23.01.2025
Введение в MongoDB: современная документоориентированная СУБД
В современном мире разработки программного обеспечения выбор правильной системы управления базами данных является критически важным. . .
|
Как использовать закрытый ключ шифрования в Git. Шифрование в Git
bytestream 23.01.2025
Установка и настройка закрытых ключей в Git предоставляет дополнительный уровень безопасности для работы с репозиториями. Для начала необходимо создать пару ключей, обычно это осуществляется с. . .
|