You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用eudev执行Buildroot make命令时提示未找到C99编译器求助

解决Buildroot启用eudev时的C99编译器错误

首先明确:你执行gcc --std=c99时的输出是正常现象——这个命令只指定了编译标准,但没有提供任何输入文件,所以编译器提示缺少输入文件,这不是导致eudev编译失败的原因。真正的问题是Buildroot在交叉编译eudev时,使用的交叉编译器未启用C99支持,或者该交叉编译器本身不支持C99。

以下是具体解决步骤:

  • 重新进入Buildroot的menuconfig,导航到Toolchain菜单:

    • 如果使用Buildroot自带的工具链(Toolchain type选择Buildroot toolchain),确保C compiler相关选项中启用了C99支持。部分版本的Buildroot里有明确的Enable C99 support选项,直接勾选即可;如果没有该选项,确认gcc version选择的是4.3及以上版本(gcc 4.3及以后默认支持C99)。
    • 如果使用外部交叉工具链(Toolchain type选择External toolchain),先验证该工具链的gcc是否支持C99:找到交叉编译器的路径(比如arm-linux-gnueabihf-gcc),执行arm-linux-gnueabihf-gcc --std=c99 -E -x c /dev/null,如果无报错则说明工具链支持C99,接着在Buildroot的外部工具链配置中,确保External toolchain gcc version设置正确,且Enable C99 support已勾选。
  • 清理eudev的编译缓存:
    执行make eudev-dirclean,避免之前的错误配置残留,然后重新执行make。

  • 若上述步骤无效,尝试清理整个Buildroot编译目录:
    执行make clean,重新进入menuconfig确认所有配置后,再执行make从头编译。

内容的提问来源于stack exchange,提问作者AB3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:45:49