我是Xcode的新手,当我构建以下代码(MWE)时,我遇到了以下错误:
ld:x86_64架构的3个重复符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我有三个文件如下:
main.cpp
#include "B.cpp"
int main() {
square(5);
return 0;
}
B.cpp
#include "A.cpp"
void square(int n){
display(n*n);
}
A.cpp
#include <iostream>
using namespace std;
void display(int num){
cout<<num;
}
我尝试了Stack Overflow上提到的不同方法,比如将“仅构建活动架构”更改为“是”,以及其他一些方法,但错误仍然存在。
A.cpp
中的代码被编译成单一的翻译单元A.o
,然后相同的代码被包含在main.cpp
中 (这才是 真正的 问题)。这个答案中的第二个选项是理想的。采纳它吧。 - WhozCraig