6

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

4

2 回答 2

5

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

机器配置文件在板卡支持层,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> "
于 2015-08-04T22:00:53.283 回答
4

您可以在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}"
于 2014-09-25T22:22:58.933 回答