我正在使用objective-c编写程序。现在我要将UDP服务器和客户端添加到我的项目中,在将文件添加到xcode项目之前,项目可以成功运行。但是在我添加另一个mainudp.m和upd.h以及upd.m后,程序无法运行,这里是错误信息,如何处理这个问题?感谢
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 :(得分:0)
新文件(mainudp.m
)必须定义main()
函数,该函数是程序的入口点。您只能有一个入口点,并且现有代码中已有一个入口点。
您需要删除该新文件或删除其中包含的main()
函数,并通过现有代码访问它提供的任何功能。
答案 1 :(得分:0)
可能在您的项目中,您拖动了整个第三方项目,这就是为什么在main()
文件中您自己的项目中有两个main.m
实现一个,而第三方项目中的另一个可能在{{ 1}}文件。这就是它创造问题的原因。尝试拖放有用的类而不是整个项目。