用于体系结构x86_64 Xcode Mac的未定义符号

Undefined Symbols for architecture x86_64 Xcode Mac

本文关键字:Mac 未定义 符号 Xcode 体系结构 x86 用于      更新时间:2023-10-16

我需要一些帮助。最近我试着学习一些编程,遇到了一些问题,但都解决了。除了这个。我知道它已经被回答了很多次,但我从来没有为我的具体案例找到解决方案。我使用的是Xcode V.4.5.2这是程序:

int add(int x, int y);
int main()
    using namespace std;
    cout << "3 + 4 + 5 = " << add(3, 4) << endl;
    return 0;
}
int add(int x, int y, int z)
    return x + y + z;
}

它给了我这个错误:

体系结构x86_64的未定义符号:"add(int,int)",引用自:_main in main(也许你的意思是:__Z3addii)ld:找不到体系结构x86_64的符号clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我不知道该怎么办。

我一直在遵循这个教程:

http://www.learncpp.com/cpp-tutorial/17-forward-declarations/

测验下的第五个项目是这个。

谢谢Lemonizer

您的正向声明是int add(int x, int y);,但您的定义是int add(int x, int y, int z)。第一个没有int z,但第二个有。他们需要100%匹配。定义应该是:

int add(int x, int y) {
    return x + y;
}

链接器错误告诉您"我不知道任何add(int, int)函数",这是合适的,因为没有任何类型的add(int, int)函数的定义。只有一个add(int, int, int)函数,这显然是不同的。