如何在C中修复“体系结构x86_64的未定义符号”?

时间:2019-11-13 15:15:58

标签: c linker linker-errors

我在主文件中包含一个头文件,但是在编译主文件时,出现错误,说明链接器失败。

我试图找到目标文件,但是找不到。 我认为问题可能出在我的机器上。我是一个初学者,所以我不知道如何解决

当我尝试编译代码时,出现此错误:

Undefined symbols for architecture x86_64:
"_intClassic", referenced from:
      _main in main-53b7e4.o
  "_intQuadrature", referenced from:
      _main in main-53b7e4.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
  

@zwol @JonathanLeffer我的项目main.cintegral.h中有3个文件   和integral.cintegral.c包含功能代码   intClassicintQuadrature使我能够计算出不同   积分的类型。在integral.h中,我声明了函数和   我使用的结构。最后,我在主体中加入了integral.h。   $ gcc -o output file1.o file2.o还能帮助我吗?

1 个答案:

答案 0 :(得分:0)

在与文件相同的目录中,尝试运行命令

gcc main.c integral.c -o integral

这应该获取2个文件并将它们编译成名为./integral

的程序