make错误 warning: overriding commands for target

本文探讨了在Makefile中为同一目标设置多个重建命令时出现的警告问题,并解释了这些警告的原因及其解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


warning: overriding commands for target `XXX'

warning: ignoring old commands for target `XXX'

对同一目标“XXX”存在一个以上的重建命令。GNU make规定:当同一个文件作为多个规则的目标时,只能有一个规则定义重建它的命令(双冒号规则除外)。如果为一个目标多次指定了相同或者不同的命令,就会产生第一个告警;第二个告警信息说新指定的命令覆盖了上一次指定的命令。


makefile 对格式有着近乎苛刻的要求,今天因为目标后面多了个空格,导致一直报上述错误


vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `aacps_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: overriding commands for target `aac_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `aac_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: overriding commands for target `dv_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `dv_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: overriding commands for target `sinewin_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `sinewin_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: overriding commands for target `mpegaudio_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `mpegaudio_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: overriding commands for target `motionpixels_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `motionpixels_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: overriding commands for target `pcm_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `pcm_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: overriding commands for target `qdm2_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `qdm2_tables.h' build/core/Makefile:34: warning: overriding commands for target `out/target/product/p201/system/lib/hw/audio.huitong.default.so' build/core/base_rules.mk:319: warning: ignoring old commands for target `out/target/product/p201/system/lib/hw/audio.huitong.default.so' build/core/Makefile:34: warning: overriding commands for target `out/target/product/p201/system/bin/remotecfg' build/core/base_rules.mk:319: warning: ignoring old commands for target `out/target/product/p201/system/bin/remotecfg' build/core/Makefile:34: warning: overriding commands for target `out/target/product/p201/system/usr/keylayout/Generic.kl' build/core/Makefile:34: warning: ignoring old commands for target `out/target/product/p201/system/usr/keylayout/Generic.kl' build/core/Makefile:34: warning: overriding commands for target `out/target/product/p201/system/lib/libfbaudio.so' build/core/base_rules.mk:319: warning: ignoring old commands for target `out/target/product/p201/system/lib/libfbaudio.so' Starting build with ninja ninja: Entering directory `.' ninja: error: 'art/runtime/interpreter/mterp/out/mterp_x86_64.S', needed by 'out/host/linux-x86/obj/SHARED_LIBRARIES/libart_intermediates/interpreter/mterp/out/mterp_x86_64.o', missing and no known rule to make it build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed make: *** [ninja_wrapper] Error 1 #### make failed to build some targets (40 seconds) ####怎么解决
06-18
vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `pcm_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: overriding commands for target `qdm2_tables.h' vendor/amlogic/frameworks/av/LibPlayer/amffmpeg/libavcodec/Makefile:725: warning: ignoring old commands for target `qdm2_tables.h' build/core/Makefile:34: warning: overriding commands for target `out/target/product/p201/system/lib/hw/audio.huitong.default.so' build/core/base_rules.mk:319: warning: ignoring old commands for target `out/target/product/p201/system/lib/hw/audio.huitong.default.so' build/core/Makefile:34: warning: overriding commands for target `out/target/product/p201/system/bin/remotecfg' build/core/base_rules.mk:319: warning: ignoring old commands for target `out/target/product/p201/system/bin/remotecfg' build/core/Makefile:34: warning: overriding commands for target `out/target/product/p201/system/usr/keylayout/Generic.kl' build/core/Makefile:34: warning: ignoring old commands for target `out/target/product/p201/system/usr/keylayout/Generic.kl' build/core/Makefile:34: warning: overriding commands for target `out/target/product/p201/system/lib/libfbaudio.so' build/core/base_rules.mk:319: warning: ignoring old commands for target `out/target/product/p201/system/lib/libfbaudio.so' Starting build with ninja ninja: Entering directory `.' ninja: error: 'art/runtime/interpreter/mterp/out/mterp_x86_64.S', needed by 'out/host/linux-x86/obj/SHARED_LIBRARIES/libart_intermediates/interpreter/mterp/out/mterp_x86_64.o', missing and no known rule to make it build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed make: *** [ninja_wrapper] Error 1如何解决
06-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值