【问题标题】:How to add global CXX compiler flag to yocto build如何将全局 CXX 编译器标志添加到 yocto build
【发布时间】:2017-03-21 20:03:28
【问题描述】:

这对我来说似乎很明显,但我找不到任何解决方案。假设我想添加或更改适用于所有 yocto 配方的编译器标志/选项。可以在某处添加全局标志,而无需更改配方?

【问题讨论】:

    标签: compiler-flags yocto


    【解决方案1】:

    您可以将其添加到机器配置文件中。

    机器配置文件在板卡支持层,conf/machine下。它被命名为 $MACHINE.conf,其中 MACHINE 在您的 local.conf 中定义。

    以下是 poky 1.4 中的内容。你的可能在 poky 之外的一层。

    > ls -1 meta-yocto-bsp/conf/machine/
    atom-pc.conf
    beagleboard.conf
    mpc8315e-rdb.conf
    routerstationpro.conf
    > ls -1 meta/conf/machine/
    include
    qemuarm.conf
    qemumips.conf
    qemuppc.conf
    qemux86-64.conf
    qemux86.conf
    

    确定您的板配置文件后,在末尾添加一行以添加到您的 C 标志:

    TARGET_CFLAGS += " <my flags> "
    

    【讨论】:

      【解决方案2】:

      您可以在 poky/meta/conf/bitbake.conf 中为 Yocto 构建添加全局编译器选项。添加选项后,使用命令bitbake -e

      检查bitbake环境
      cat poky/meta/conf/bitbake.conf
      
      ...
      ...
      ##################################################################
      # Build flags and options.
      ##################################################################
      
      export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
      BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}"
      export CPPFLAGS = "${TARGET_CPPFLAGS}"
      
      export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
      BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}"
      export CFLAGS = "${TARGET_CFLAGS}"
      export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
      
      export BUILD_CXXFLAGS = "${BUILD_CFLAGS}"
      export CXXFLAGS = "${TARGET_CXXFLAGS}"
      export TARGET_CXXFLAGS = "${TARGET_CFLAGS}"
      

      【讨论】:

      • 建议修改poky/... 下的任何文件,因为如果更新您的 poky 层,您的所有修改都会丢失。请改用自己的图层。
      猜你喜欢
      • 2019-03-11
      • 2010-12-13
      • 2021-03-18
      • 1970-01-01
      • 2021-02-16
      • 2010-09-24
      • 1970-01-01
      • 2022-07-14
      • 1970-01-01
      相关资源
      最近更新 更多