#yocto
#yocto
Вопрос:
У меня есть стороннее приложение, функциональность которого можно расширить, загрузив общие объектные файлы во время выполнения.
Библиотеки, которые должны быть загружены, определяются с помощью текстового файла, где вы указываете путь к этому объектному файлу, одну строку для одной библиотеки. Порядок загрузки библиотек не имеет значения.
Я могу разработать столько библиотек, сколько захочу, каждая со своим собственным рецептом. Теперь проблема в том, как я могу отредактировать этот файл, который определяет, какие библиотеки загружать?
Например. как я могу создать файл, который является общим для неизвестного количества рецептов и в конце будет помещен в корневой файл?
Комментарии:
1. Зачем им нужен общий доступ к файлу? В конце концов, их загружает ваше стороннее приложение, так что это единственная часть программного обеспечения, которая должна знать, какие библиотеки загружать правильно?
2. Да, это тоже кажется разумным способом. У вас есть решение, как я мог бы сообщить приложению обо всех библиотеках?
3. Вам в любом случае нужен способ правильно выбрать все библиотеки для установки? Вы можете сделать это, установив
PACKAGECONFIG
опцию в своем стороннем приложении, которая выбирает все библиотеки одну за другой. Затем в одной пользовательской задаче вы считываетеPACKAGECONFIG_CONFARGS
и помещаете их в файл, который вы устанавливаете в пакете вашего стороннего приложения. Проблема в том, чтоPACKAGECONFIG
его можно изменять только «динамически» в файлах conf (дистрибутив, компьютер, слой, локальный). Поэтому, если вам нужен программируемый переключатель, он может вам не подойти. Смотрите: yoctoproject.org/docs/latest/mega-manual /…4. Еще одна возможность — выбрать пакеты вашей библиотеки для установки в рецепт изображения. Затем
ROOTFS_POSTPROCESS_COMMAND
в вашем рецепте изображения вы найдете все свои библиотеки в корневых файлах и создадите файл непосредственно в корневых файлах. Смотрите: yoctoproject.org/docs/latest/mega-manual /…5. Команда postprocess кажется многообещающей. Я мог бы поместить их все в одну папку и поместить каждую библиотеку в этот файл. Спасибо за совет!