Xcode - Command / Developer / usr / bin / clang失败,退出代码为1

时间:2011-09-26 19:29:05

标签: xcode

我刚开始编程,并试图学习C.

对于我的作业,我必须设计一个程序,我很确定我的代码是正确的,但每当我尝试测试它,甚至直接从书中试用程序时,我都会收到这个错误。

Ld "/Users/BasirJamil/Library/Developer/Xcode/DerivedData/Lab_2-fuyrgmtkjwgafzctwttcpwxptwox/Build/Products/Debug/Lab 2.app/Contents/MacOS/Lab 2" normal x86_64
    cd "/Users/BasirJamil/Desktop/Lab 2"
    setenv MACOSX_DEPLOYMENT_TARGET 10.7
    /Developer/usr/bin/clang -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -L/Users/BasirJamil/Library/Developer/Xcode/DerivedData/Lab_2-fuyrgmtkjwgafzctwttcpwxptwox/Build/Products/Debug -F/Users/BasirJamil/Library/Developer/Xcode/DerivedData/Lab_2-fuyrgmtkjwgafzctwttcpwxptwox/Build/Products/Debug -filelist "/Users/BasirJamil/Library/Developer/Xcode/DerivedData/Lab_2-fuyrgmtkjwgafzctwttcpwxptwox/Build/Intermediates/Lab 2.build/Debug/Lab 2.build/Objects-normal/x86_64/Lab 2.LinkFileList" -mmacosx-version-min=10.7 -framework Cocoa -o "/Users/BasirJamil/Library/Developer/Xcode/DerivedData/Lab_2-fuyrgmtkjwgafzctwttcpwxptwox/Build/Products/Debug/Lab 2.app/Contents/MacOS/Lab 2"

ld: duplicate symbol _main in /Users/BasirJamil/Library/Developer/Xcode/DerivedData/Lab_2-fuyrgmtkjwgafzctwttcpwxptwox/Build/Intermediates/Lab 2.build/Debug/Lab 2.build/Objects-normal/x86_64/File.o and /Users/BasirJamil/Library/Developer/Xcode/DerivedData/Lab_2-fuyrgmtkjwgafzctwttcpwxptwox/Build/Intermediates/Lab 2.build/Debug/Lab 2.build/Objects-normal/x86_64/main.o for architecture x86_64
Command /Developer/usr/bin/clang failed with exit code 1

有人可以解释问题是什么,以及我如何解决它,而不会过度技术(如果可能的话)?记住,我还是编程的新手

提前致谢

6 个答案:

答案 0 :(得分:11)

ld: duplicate symbol _main in /Users/BasirJamil/Library/Developer/Xcode/DerivedData/Lab_2

您有一个变量(最有可能)或多次定义的函数。实际上,您可能已经定义了_main两次。

它有助于读取整个错误消息,而不仅仅是最后一行。 : - )

检查您的代码。

答案 1 :(得分:5)

您也可能会因为意外包含实现文件而不是头文件而出现此错误。例如#import“MyClass.m”而不是#import“MyClass.h”

答案 2 :(得分:5)

正如其他答案中所述,这是因为链接器找到了多个名称相同的符号......在本例中为“_main”。造成这种情况的原因有很多(全局变量/同名方法,定义全局变量/方法 - 与声明相反 - 在.h文件中包含多次,等等。)

然而,这与Xcode相关,您可能想要检查的第一件事是您的构建阶段。您的“编译源”构建阶段可能会多次编译同一个文件。在你的情况下,它可能是“main.m”。

在我添加了很多本地化的.xib文件到我的项目并且Xcode崩溃之后,今天发生了这种情况。

答案 3 :(得分:1)

我有这个错误,我所做的只是看看我的"构建阶段" - > "编译来源"并删除所有重复的文件。

答案 4 :(得分:1)

此错误正在讨论具有相同名称的2个函数 - 已定义main。根据你的描述,你是C的新手,所以我想你可能会犯同样的愚蠢错误。在一开始,我只是简单地拖动我可以下载的所有源文件来研究C,2个项目包括LUA和http-parser然后我开始构建并运行我的Xcode项目然后我遇到了你发布的完全相同的错误消息这里。

答案 5 :(得分:0)

我得到了同样的错误,我使用了file->最近打开 - >清晰的菜单。在我完成之后,错误消失了。您的代码没有任何问题,只需清理历史记录......