默认情况下,所有Yocto项目都附带-O2优化级别
如何使用-O0覆盖单个包?
答案 0 :(得分:5)
来自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
。
答案 1 :(得分:1)
以上答案暗示
DEBUG_BUILD=1
对我不起作用。 我不得不使用
DEBUG_FLAGS="-O0"