Сценарий:
я работаю с рецептами yocto linux. Я пытаюсь создать рецепт, который просто копирует предварительно созданный MyLibrary.a
и его заголовки, доступные в созданном образе Linux. Итак, у меня есть libMyLibrary.a
, который я хочу скопировать в /usr/lib
. И файлы заголовков MyLibrary
MyLibrary.h
и MyLibrary.hpp
в /usr/include
. Обратите внимание, что MyLibrary
уже построен, и я просто хочу скопировать двоичный файл и заголовки в нужные места созданного образа Linux.
Итак, следующий рецепт:
SUMMARY = "Script to make a static library available in yocto linux image"
LICENSE = "CLOSED"
FILES_${PN} += "${libdir}"
SRC_URI = "file://libMyLibrary.a \
file://MyLibrary..hpp \
file://MyLibrary..h \
"
S = "${WORKDIR}"
do_install () {
install -d ${D}${libdir}
install -d ${D}${includedir}
install -m 0644 ${WORKDIR}/libMyLibrary.a ${D}${libdir}/
install -m 0644 ${WORKDIR}/MyLibrary.h ${D}${includedir}/
install -m 0644 ${WORKDIR}/MyLibrary.hpp ${D}${includedir}/
}
Сначала я начал с ошибок на do_install
шаге. Я решил их, но теперь на этапе do_rootfs
возникает жалоба на мой bb
файл, который равен mylibrary_1.0.bb
. Я почти уверен, что родительский рецепт, который вызывает мой рецепт, не содержит ошибок, поскольку он строит множество других рецептов, а мой - лишь дополнение к нему. Также ошибки стали появляться после того, как я написал шаг do_install
.
Вопрос
Может ли кто-нибудь указать, что не так с моим рецептом выше?
Или есть простой пример рецепта, который копирует .a
и его заголовки в желаемое место, то есть /usr/lib
и /usr/include
, как я делаю выше?