【问题标题】:I can't get flatc installed into my yocto based SDK我无法将 flatc 安装到基于 yocto 的 SDK 中
【发布时间】:2019-07-16 06:40:36
【问题描述】:

我正在执行 bitbake image -c populate_sdk 来获取我的 SDK,但我找不到获取 SDK 中包含的 flatc 二进制文件的方法。

我已经在我的 flatbuffers.bb 文件中尝试了一个 do_install_append,并且我已经将各种 flatbuffers 的依赖项放在另一个 .bb 文件中。我已经在我的机器 .conf 文件中添加了 TOOLCHAIN_HOST_TASK_append。

我确实在 SDK 中获得了 flatbuffers 头文件,但只有 ARM flatc 而不是本机的。

这是我在 .bb 文件中为我们拥有的自定义二进制文件添加的依赖项:

DEPENDS += "yaml-cpp libevent protobuf python3 nativesdk-flatbuffers flatbuffers-native flatbuffers"
DEPENDS_append_class-nativesdk = " flatbuffers"

这是我的 flatbuffers .bb 文件

SUMMARY = "Memory Efficient Serialization Library"
HOMEPAGE = "https://github.com/google/flatbuffers"
SECTION = "console/tools"
LICENSE = "Apache-2.0"

PACKAGE_BEFORE_PN = "${PN}-compiler"

RDEPENDS_${PN}-compiler = "${PN}"
RDEPENDS_${PN}-dev += "${PN}-compiler"

LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a873c5645c184d51e0f9b34e1d7cf559"

SRCREV = "c0698cc33f1e534bb59c455909b88cc2726089af"

SRC_URI = "git://github.com/google/flatbuffers.git"

# Make sure C++11 is used, required for example for GCC 4.9
CXXFLAGS += "-std=c++11"
BUILD_CXXFLAGS += "-std=c++11"

# BUILD_TYPE=Release is required, otherwise flatc is not installed
EXTRA_OECMAKE += "\
    -DCMAKE_BUILD_TYPE=Release \
    -DFLATBUFFERS_BUILD_TESTS=OFF \
    -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
"
#    -DFLATBUFFERS_BUILD_FLATC=ON

#do_install_append() {
#    install -d ${$D}/${bindir}
#    install ${B}/flatc ${D}${bindir}
#}

inherit cmake

S = "${WORKDIR}/git"

FILES_${PN}-compiler = "${bindir}"
FILES_${PN} += "/usr/lib/*"
FILES_${PN} += "/opt/ousteros/2019.7/sysroots/*"
#FILES_${PN} += "${WORKDIR}/${SDK_ARCH}/usr/bin/flatc"

BBCLASSEXTEND = "native nativesdk"

我得到了 ARM flatc,但没有 x86_64 flatc,我需要它来构建我的其他二进制文件所需的头文件。我的其他二进制文件还不需要那个头文件,我首先想生成一个带有 flatc 的 SDK。

【问题讨论】:

    标签: yocto bitbake openembedded


    【解决方案1】:

    不要在DEPENDS 中混合使用 target 和 nativesdk 包。

    要将本机工具添加到 SDK,您需要在创建 SDK 的图像配方中将 nativesdk-flatbuffers-compiler 添加到 TOOLCHAIN_HOST_TASK

    【讨论】:

    • 解决了!耶。做到了。非常感谢罗斯。
    猜你喜欢
    • 2018-07-17
    • 2018-11-29
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    相关资源
    最近更新 更多