2015-06-20 114 views
0

我正在使用objective-c編寫程序。現在我打算在我的項目中添加一個UDP服務器和客戶端,然後將該文件添加到xcode項目中,該項目可以成功運行。但是當我添加另一個mainudp.m和upd.h和upd.m後,程序無法運行,這裏是錯誤信息,如何解決這個問題?由於添加UDP服務器和客戶端後發生錯誤

Ld /Users/bacd/Library/Developer/Xcode/DerivedData/dd-hggkyympepqrutcpbxxlwmtzcjkb/Build/Products/Debug/dd.app/Contents/MacOS/dd normal x86_64 
    cd /Users/bacd/Desktop/de 
    export MACOSX_DEPLOYMENT_TARGET=10.7 
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -L/Users/bacd/Library/Developer/Xcode/DerivedData/dd-hggkyympepqrutcpbxxlwmtzcjkb/Build/Products/Debug -F/Users/bacd/Library/Developer/Xcode/DerivedData/dd-hggkyympepqrutcpbxxlwmtzcjkb/Build/Products/Debug -F/Users/bacd/Desktop/de/Bluewear\ OSX -filelist /Users/bacd/Library/Developer/Xcode/DerivedData/dd-hggkyympepqrutcpbxxlwmtzcjkb/Build/Intermediates/dd.build/Debug/dd.build/Objects-normal/x86_64/dd.LinkFileList -mmacosx-version-min=10.7 -fobjc-arc -fobjc-link-runtime -framework AVFoundation -framework QuartzCore -framework CoreAudio -framework Carbon -framework IOBluetooth -framework Cocoa -framework CoreServices -Xlinker -dependency_info -Xlinker /Users/bacd/Library/Developer/Xcode/DerivedData/dd-hggkyympepqrutcpbxxlwmtzcjkb/Build/Intermediates/dd.build/Debug/dd.build/Objects-normal/x86_64/dd_dependency_info.dat -o /Users/bacd/Library/Developer/Xcode/DerivedData/dd-hggkyympepqrutcpbxxlwmtzcjkb/Build/Products/Debug/dd.app/Contents/MacOS/dd 

duplicate symbol _main in: 
    /Users/bacd/Library/Developer/Xcode/DerivedData/dd-hggkyympepqrutcpbxxlwmtzcjkb/Build/Intermediates/dd.build/Debug/dd.build/Objects-normal/x86_64/main.o 
    /Users/bacd/Library/Developer/Xcode/DerivedData/dd-hggkyympepqrutcpbxxlwmtzcjkb/Build/Intermediates/dd.build/Debug/dd.build/Objects-normal/x86_64/mainudp.o 
ld: 1 duplicate symbol for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

回答

0

新的文件(mainudp.m)必須定義一個main()功能,這是入口點進入程序。您只能擁有一個入口點,並且您現有的代碼中已經有一個入口點。

您將需要刪除該新文件或刪除它包含的main()函數,並通過您現有的代碼訪問它提供的任何功能。

0

可能在你的項目,你已經拖了整個第三方的項目,這就是爲什麼在兩個main()實現一個在自己的項目中main.m文件,另一個在第三方項目大概在mainudp.m文件。這就是它造成這個問題的原因。嘗試拖放只有有用的類不是整個項目。