我剛開始學習C,並且寫了我的Hello World程序:奇怪的C編譯器,得到一個錯誤「LD:重複的符號_main」
#include <stdio.h>
main()
{
printf("Hello World");
return 0;
}
當我運行代碼,我得到一個非常長的錯誤:
Apple Mach-O Linker (id) Error
Ld /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Products/Debug/CProj normal x86_64
cd /Users/Solomon/Desktop/C/CProj
setenv MACOSX_DEPLOYMENT_TARGET 10.7
/Developer/usr/bin/clang -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -L/Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Products/Debug -F/Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Products/Debug -filelist /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Intermediates/CProj.build/Debug/CProj.build/Objects-normal/x86_64/CProj.LinkFileList -mmacosx-version-min=10.7 -o /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Products/Debug/CProj
ld: duplicate symbol _main in /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Intermediates/CProj.build/Debug/CProj.build/Objects-normal/x86_64/helloworld.o and /Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Intermediates/CProj.build/Debug/CProj.build/Objects-normal/x86_64/main.o for architecture x86_64
Command /Developer/usr/bin/clang failed with exit code 1
我正在運行的Xcode
我應該重新安裝DevTools?
不,我得到相同的確切錯誤 – Billjk 2012-03-27 01:43:13
你用來編譯這段代碼的命令行是什麼?很有可能,你的命令行包含兩個包含'main'實現的.c文件。具體來說,錯誤消息似乎表明您正試圖將'helloworld.c'和'main.c'編譯成一個可執行文件。 – 2012-03-27 01:45:16
您正在鏈接兩個聲明main()的不同文件。查看下面的內容,看看是否有任何不屬於的鏈接文件:/Users/Solomon/Library/Developer/Xcode/DerivedData/CProj-cwosspupvengheeaapmkrhxbxjvk/Build/Intermediates/CProj.build/Debug/CProj.build/對象-normal/x86_64/CProj.LinkFileList – 2012-03-27 01:45:40