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

Compiler Explorer编译ARM架构C模块时无法找到<math.h>怎么办?

在Compiler Explorer中使用armclang编译包含<math.h>的C代码时找不到头文件的解决方法

问题描述

在Compiler Explorer上编译包含<math.h>的C模块,目标架构为ARM,但无论使用哪个版本的armclang,编译器均提示无法找到<math.h>。

代码示例:

#include <math.h>

错误信息:

<source>:1:10: fatal error: 'math.h' file not found
#include <math.h>
         ^~~~~~~~
1 error generated.
Compiler returned: 1

解决方法

  • 切换到带完整标准库的编译器版本:优先选择armclang 6.16及以上版本,这类版本预装了完整的ARM标准库,默认就能识别<math.h>。
  • 手动指定头文件路径:若切换版本后仍报错,在编译选项中添加标准库路径:
    -I/usr/include/arm-linux-gnueabihf/
    
    该路径是Compiler Explorer中ARM架构标准库头文件的默认存放目录,<math.h>包含其中。
  • 链接数学库(后续使用函数时需要):如果代码中调用了<math.h>里的数学函数(如sin、sqrt),需在编译选项中添加链接参数:
    -lm
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 06:45:43