如何覆盖 bit-bake 配方中单个包的优化级别?

How to override optimization level for a single package in bit-bake recipe?

默认情况下,所有 Yocto 项目都带有 -O2 优化级别

如何使用 -O0 覆盖单个包?

来自bitbake.conf:

export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}"
DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe"
SELECTED_OPTIMIZATION = "${@d.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][d.getVar('DEBUG_BUILD') == '1'])}"

因此,如果您想将其切换为 -O0 以进行调试,只需在配方中设置 DEBUG_BUILD="1" 即可。如果配方因错误代码而被 -O2 破坏,请适当地覆盖 FULL_OPTIMISATION

以上回答建议

DEBUG_BUILD=1

对我不起作用。 我不得不使用

DEBUG_FLAGS="-O0"