Я пишу приложение на C++, которое использует различные ресурсы моего проекта. Прямо сейчас у меня есть относительный путь от созданного исполняемого файла к каждому ресурсу, жестко закодированному в моих источниках, и это позволяет моей программе открывать файлы и считывать данные в каждом ресурсе. Это работает нормально, но требует, чтобы я запускал исполняемый файл с определенного пути относительно ресурсов. Поэтому, если я попытаюсь запустить свой исполняемый файл откуда-либо еще, он не сможет открыть файлы и не сможет продолжить работу.
Есть ли переносимый способ встроить ли CMake мои ресурсы в исполняемые файлы (или библиотеки), чтобы я мог просто получить к ним доступ в памяти во время выполнения вместо открытия файлов, пути к которым нестабильны? Я нашел похожий вопрос, и похоже, что встраивание ресурсов можно сделать достаточно хорошо с помощью некоторой магии ld. Итак, мой вопрос: как мне сделать это переносимым, кроссплатформенным способом с помощью CMake? Мне действительно нужно, чтобы мое приложение работало как на x86, так и на ARM. Я согласен поддерживать только Linux (Embedded), но бонусные баллы, если кто-нибудь подскажет, как это сделать и для Windows (Embedded).
РЕДАКТИРОВАТЬ:
Я забыл упомянуть желаемое свойство решения. Я хотел бы иметь возможность использовать CMake для кросс-компиляции приложения, когда я создаю его для ARM, вместо того, чтобы компилировать его в своей целевой системе ARM.
Подробнее здесь: https://stackoverflow.com/questions/118 ... with-cmake
Встраивайте ресурсы (например, код шейдера или изображения) в исполняемый файл/библиотеку с помощью CMake. ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение