集成应用程序Yocto arm bitbake

时间:2017-07-10 18:28:56

标签: cmake arm yocto bitbake openembedded

我正在尝试将我的食谱编译并链接到arm库。我正在使用cmake。在阅读了yocto网站上的多个文档和参考资料之后,我似乎无法弄清楚正确的工作流程。我现在的方法是:

  • 设置来源
  • 构建我的目标最小图像,没有我想要使用的图层
  • 尝试构建我的特定配方:bitbake Test

我从Yocto网站下载了arm工具链,并在我的sources / poky中准备好了。在这里,我可以看到systroots和我需要的所有库。我的食谱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 world项目,但只要外部库发挥作用,它就会出错。

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

好像看错了文件夹。我正在采取的步骤是正确的吗?或者我错过了什么?

艾玛

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版权?最近我用另一个包得到了完全相同的问题。这里有两个问题:

找不到pThread库。我在树中添加了FindThreads.cmake并导入了它。但是后来链接器无法成功。我得出结论,cmake本身对这个库有一个问题并且结束了改变poky提交以拥有不同版本的CMake。请注意,您还可以保留新的版本,并在图层中使用自定义CMake。

CMake 3.7和3.8.2无法正常工作,但3.7.1适合我(哈希c9a512b6408d4cc11c1b36f7bc1b9b1c31056ce1)。要找出哪个提交,您可以执行

git log --pretty=oneline | grep cmake: