gpt4 book ai didi

c++ - Yocto bitbake 与 SDK sysroot 冲突

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:22 25 4
gpt4 key购买 nike

我在使用依赖于 i2c 工具的 bitbake 构建食谱时遇到问题。这似乎是由于我的食谱的 sysroot 中缺少文件。在我的一个 .cpp 文件中,我有

extern "C" {
#include <sys/ioctl.h>
#include <linux/i2c-dev.h>
#include <i2c/smbus.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
}

我已经在/opt/fslc-x11/2.6.2 构建并安装了 Yocto 图像 SDK。我可以使用以下命令成功交叉编译我的 CMake 应用程序:

mkdir build && cd build
source /opt/fslc-x11/2.6.2/environment-setup-armv7at2hf-neon-fslc-linux-gnueabi
export QT_SELECT=qt5.11.3
cmake .. -DCMAKE_TOOLCHAIN_FILE=/opt/fslc-x11/2.6.2/sysroots/x86_64-fslcsdk-linux/usr/share/cmake/OEToolchainConfig.cmake -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${QT_BIN_PATH}
make -j4

但是,当尝试在我的 bitbake 配方中构建相同的代码时,构建失败,说明

fatal error: i2c/smbus.h: No such file or directory

我开发这个软件已经有一段时间了,在我添加 i2c 东西之前,bitbake 配方工作得很好。

在 SDK 目录中,header 和 libi2c 的存在是通过以下查找命令确定的:

/opt/fslc-x11/2.6.2$ sudo find . -name smbus.h
./sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/src/debug/i2c-tools/4.1-r0/i2c-tools-4.1/include/i2c/smbus.h
./sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/include/i2c/smbus.h

/opt/fslc-x11/2.6.2$ sudo find . -name libi2c*
./sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/.debug/libi2c.so.0.1.1
./sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libi2c.so.0
./sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libi2c.so.0.1.1
./sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libi2c.so

但是,在配方 sysroot 中,这些文件丢失了:

~/var-fslc-yocto/build_x11/tmp/work/armv7at2hf-neon-fslc-linux-gnueabi/magi/1.0-r0$ sudo find . -name libi2c*
~/var-fslc-yocto/build_x11/tmp/work/armv7at2hf-neon-fslc-linux-gnueabi/magi/1.0-r0$ sudo find . -name smbus.h

我是否需要向食谱的 .conf 或 .bb 文件中添加一些内容才能将这些文件放入食谱的 sysroot 中?我是 Yocto/OE 的新手,所以请放轻松。

最佳答案

我相信我已经解决了这个问题。我创建了一个最小的 .cpp 文件来实现在 www.kernel.org 中找到的代码.之后,将 DEPENDS = "i2c-tools"添加到我的食谱的 .bb 文件中似乎已将所有必需的依赖项添加到食谱的 sysroot 中。

关于c++ - Yocto bitbake 与 SDK sysroot 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58897751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com