我一直在寻找这个问题的解决方案,但它们对我不起作用!编译程序时遇到了很多问题。 当我试图在Xcode中执行程序时出现:
重复符号_main /LauraChaparro/Library/Developer/Xcode/DerivedData/Busqueda-ercduihvfosqcoczkrgljkkmgxam/Build/Intermediates/Busqueda.build/Debug/Busqueda.build/Objects-normal/x86_64/main.o for architecture x86_64
我不明白为什么会这样!是一个C ++项目......或者如果你能推荐我另一个IDE,我会非常感激!
答案 0 :(得分:8)
看起来您在用于制作main
目标文件的一些代码中定义了Uno.o
。您只能有一个main
,因此用于构建库的对象不应定义main
。这应该只在应用程序本身中定义。
这是一个链接器错误,您可能会遇到其他IDE。您需要找到定义Uno.o
main
的位置并将其删除。
答案 1 :(得分:3)
您遇到的错误是链接器错误。它告诉你到底出了什么问题。链接器发现它可以找到多次查找目标文件的符号* _main *。这使得链接器无法创建目标文件的可执行文件,因为它无法告知您要使用哪个符号。它继续告诉你它在哪里找到了两个符号。
进入Uno.o文件(我将假设来自编译Uno.cpp文件) 另一个来自main.o文件(来自main.cpp文件)
这意味着链接器可以在某种程度上找到两个文件中main方法的符号。
这可能发生在:
作为您对另一个IDE的请求,我想提醒您,IDE中的编译错误或链接器错误都不是错误,在绝大多数情况下,问题是IDE的用户做错了。