J'essaie de compiler ma recette et de la lier aux bibliothèques de bras. J'utilise cmake. Je n'arrive pas à trouver le bon déroulement du travail, après avoir lu plusieurs documents sur le site yocto et les documents de référence. Mon approche est en ce moment:Intégration de l'application Yocto arm bitbake
- Définir la source
- bâtirai mon image cible minal, sans la couche que je veux utiliser
- Essayez de construire ma recette spécifique: bitbake test
J'ai téléchargé le toolchain d'arm du site de Yocto, et l'ai préparé dans mes sources/poky. Ici, je peux voir les systroots et toutes les bibliothèques dont j'aurais besoin. Mon fichier recette bb est la suivante:
# This file was derived from the 'Hello World!' example recipe in the
# Yocto Project Development Manual.
#
SUMMARY = "Project"
SECTION = "examples"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://."
S = "${WORKDIR}/project/src"
inherit pkgconfig cmake externalsrc
Et mon dossier CMake contient, parmi plus:
link_directories(/media/traffic/Yocto/QorIQ-SDK-V2.0-20160527-yocto/sources/poky/sysroots/aarch64-poky-linux/usr/lib)
Je suis en mesure de compiler un monde bonjour beau projet, mais dès que les bibliothèques externes prennent un rôle, ça va mal.
cannot find /usr/lib/libpthread_nonshared.a
/media/traffic/Yocto/QorIQ-SDK-V2.0-20160527-yocto/build_ls2084abluebox/tmp/sysroots/x86_64-linux/usr/bin/aarch64-fsl-linux/../../libexec/aarch64-fsl-linux/gcc/aarch64-fsl-linux/4.9.3/ld: cannot find /usr/lib/libpthread_nonshared.a
Il semble regarder dans le mauvais dossier. Les étapes que je suis en train de prendre sont-elles correctes? Ou ai-je oublié quelque chose?
Elmar
Merci pour votre commentaire! J'utilise la version 2.0 de poky distro. J'ai mis à jour mon CMake à la même version que vous avez. Cela a-t-il fonctionné pour vous après avoir défini la variable sysroot dans CMake? Ou avez-vous dû revenir à votre propre fichier FindThreads.cmake qui pointait vers le sysroot/usr/lib /? – Elamre
J'ai supprimé le FIndThreads et simplement utilisé le cmake 3.7.1 –
Était-ce l'erreur que vous aviez l'habitude d'obtenir avec CMake? - Impossible de trouver les threads (missing: Threads_FOUND) - N'a pas trouvé Threads (missing: Threads_FOUND) – Elamre