Встраивайте ресурсы (например, код шейдера или изображения) в исполняемый файл/библиотеку с помощью CMake.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Встраивайте ресурсы (например, код шейдера или изображения) в исполняемый файл/библиотеку с помощью CMake.

Сообщение Anonymous »

Я пишу приложение на C++, которое использует различные ресурсы моего проекта. Прямо сейчас у меня есть относительный путь от созданного исполняемого файла к каждому ресурсу, жестко закодированному в моих источниках, и это позволяет моей программе открывать файлы и считывать данные в каждом ресурсе. Это работает нормально, но требует, чтобы я запускал исполняемый файл с определенного пути относительно ресурсов. Поэтому, если я попытаюсь запустить свой исполняемый файл откуда-либо еще, он не сможет открыть файлы и не сможет продолжить работу.

Есть ли переносимый способ встроить ли CMake мои ресурсы в исполняемые файлы (или библиотеки), чтобы я мог просто получить к ним доступ в памяти во время выполнения вместо открытия файлов, пути к которым нестабильны? Я нашел похожий вопрос, и похоже, что встраивание ресурсов можно сделать достаточно хорошо с помощью некоторой магии ld. Итак, мой вопрос: как мне сделать это переносимым, кроссплатформенным способом с помощью CMake? Мне действительно нужно, чтобы мое приложение работало как на x86, так и на ARM. Я согласен поддерживать только Linux (Embedded), но бонусные баллы, если кто-нибудь подскажет, как это сделать и для Windows (Embedded).

РЕДАКТИРОВАТЬ:
Я забыл упомянуть желаемое свойство решения. Я хотел бы иметь возможность использовать CMake для кросс-компиляции приложения, когда я создаю его для ARM, вместо того, чтобы компилировать его в своей целевой системе ARM.

Подробнее здесь: https://stackoverflow.com/questions/118 ... with-cmake
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»