我正试图让我的食谱被编译并链接到arm库中。我用的是cmake。在阅读了yocto网站上的多份文件和参考资料之后,我似乎找不出正确的工作流程。我现在的方法是:
我已经从Yocto网站下载了arm工具链,并在我的源代码/poky中做好了准备。在这里,我可以看到系统和所有我需要的库。我的配方bb文件如下:
# 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我的CMake文件包含更多的内容:
link_directories(/media/traffic/Yocto/QorIQ-SDK-V2.0-20160527-yocto/sources/poky/sysroots/aarch64-poky-linux/usr/lib)我可以很好地编译hello项目,但是一旦外部库起了作用,它就会出错。
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它似乎找错文件夹了。我所采取的步骤正确吗?还是我漏掉了什么?
埃尔马
发布于 2017-07-11 05:42:17
你用的是哪个讨厌的版本?我最近在另一个包裹上也有同样的问题。这里有两个问题:
它找不到pThread库。我在树中添加了一个FindThreads.cmake并导入了它。但后来链接器无法到达。我得出结论,CMake本身与这个库有问题,并结束了更改poky提交以拥有不同版本的cmake。请注意,您还可以保留新的poky版本,并在您的层中使用自定义CMake。
CMake 3.7和3.8.2没有正常工作,但3.7.1是给我的(散列c9a512b6408d4cc11c1b36f7bc1b9b1c31056ce1)。要找出哪一个提交,可以执行
git log --pretty=oneline | grep cmake:
https://stackoverflow.com/questions/45019292
复制相似问题