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

C语言编译报错:undefined reference to `aireRectangle` 原因排查

链接错误:undefined reference to `aireRectangle' 的原因及解决

这个错误是链接器(ld)抛出的链接阶段错误,不是编译阶段的语法错误,核心原因如下:

  • 头文件air.h只提供了aireRectangle函数的声明(告诉编译器函数的名称、参数和返回值类型),但没有提供函数的实际实现代码。
  • 你执行gcc main.c时,仅编译了main.c生成目标文件,但链接器找不到aireRectangle函数的二进制实现代码,无法完成最终可执行文件的生成。

解决步骤

  1. 确保你有包含aireRectangle实现的源文件(比如命名为air.c),示例实现代码如下:
#include "air.h"

double aireRectangle(double largeur, double hauteur) {
    return largeur * hauteur;
}
  1. 修改编译命令,将所有相关的源文件都纳入编译流程:
gcc main.c air.c -o rectangle

这条命令会先分别编译main.c和air.c生成对应的目标文件,再由链接器将它们合并为可执行文件rectangle。

如果已经单独编译过air.c生成了air.o目标文件,也可以直接使用目标文件进行链接:

gcc main.c air.o -o rectangle

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:33:09