Как скопировать битовую копию готовой статической библиотеки в SDK - PullRequest
0 голосов
/ 07 января 2019

Сценарий:
Я работаю с рецептами 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, как я делаю выше?

1 Ответ

0 голосов
/ 07 января 2019

Объяснение, какие ошибки были бы полезны. Обратите внимание: поскольку ваш рецепт содержит только статическую библиотеку и заголовки, он не сгенерирует пакет mylibrary, что, вероятно, является причиной ошибок.

...