You need to enable JavaScript to run this app. C语言使用trunc函数报undefined reference to trunc错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

C语言使用trunc函数报undefined reference to trunc错误如何解决

报错原因

这个错误是链接器错误,不是语法问题:代码已经成功编译生成目标文件,但链接器找不到trunc函数的实现。
trunc属于C标准库的数学库(libm)函数,Linux、WSL、MinGW等环境下的GCC/Clang编译器,默认只会链接基础C库(libc),不会自动链接独立的数学库,因此触发未定义引用报错。

解决步骤
  • 首先在代码头部引入数学库头文件,避免隐式声明警告:
    #include <math.h>
  • 编译命令末尾添加-lm参数,手动指定链接数学库:
    原编译命令示例:gcc temp1.c -o temp1
    修改后正确编译命令:gcc temp1.c -o temp1 -lm
补充说明
  • 所有数学库函数(包括sqrt、floor、pow、三角函数等)在上述环境下编译时,都需要添加-lm参数。
  • Windows平台的MSVC编译器会自动链接数学库,不会出现该类报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 10:15:01