【发布时间】:2017-03-21 20:03:28
【问题描述】:
这对我来说似乎很明显,但我找不到任何解决方案。假设我想添加或更改适用于所有 yocto 配方的编译器标志/选项。可以在某处添加全局标志,而无需更改配方?
【问题讨论】:
标签: compiler-flags yocto
这对我来说似乎很明显,但我找不到任何解决方案。假设我想添加或更改适用于所有 yocto 配方的编译器标志/选项。可以在某处添加全局标志,而无需更改配方?
【问题讨论】:
标签: compiler-flags yocto
您可以将其添加到机器配置文件中。
机器配置文件在板卡支持层,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> "
【讨论】:
您可以在 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 层,您的所有修改都会丢失。请改用自己的图层。