2012-12-03 22 views
3

我在iOS应用程序中使用了typedef NS_ENUM,并且出现此错误:“linker command failed failed with exit code 1”。通常,这就是很容易解决,但这次我不能找到解决办法......Objective-C:typedef NS_ENUM错误

这是我NS_Enum:

typedef NS_ENUM(NSInteger, MKIGridViewSelectionStyle) 
      MKIGridViewSelectionStyle_SelectCellOnly = 1, 
      MKIGridViewSelectionStyle_SelectCompleteRow = 2, 
      MKIGridViewSelectionStyle_SelectCompleteColumn = 3; 

编辑:

完整的消息:

Ld /Users/mki/Library/Developer/Xcode/DerivedData/GridViewTest-esfqwoooiarqpchfzsazwbgckmso/Build/Products/Debug-iphoneos/GridViewTest.app/GridViewTest normal armv7s cd /Users/mki/Desktop/GridViewTest setenv IPHONEOS_DEPLOYMENT_TARGET 5.0 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -L/Users/mki/Library/Developer/Xcode/DerivedData/GridViewTest-esfqwoooiarqpchfzsazwbgckmso/Build/Products/Debug-iphoneos -F/Users/mki/Library/Developer/Xcode/DerivedData/GridViewTest-esfqwoooiarqpchfzsazwbgckmso/Build/Products/Debug-iphoneos -filelist /Users/mki/Library/Developer/Xcode/DerivedData/GridViewTest-esfqwoooiarqpchfzsazwbgckmso/Build/Intermediates/GridViewTest.build/Debug-iphoneos/GridViewTest.build/Objects-normal/armv7s/GridViewTest.LinkFileList -dead_strip -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=5.0 -framework QuartzCore -framework AudioToolbox -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/mki/Library/Developer/Xcode/DerivedData/GridViewTest-esfqwoooiarqpchfzsazwbgckmso/Build/Products/Debug-iphoneos/GridViewTest.app/GridViewTest

duplicate symbol _MKIGridViewSelectionStyle_SelectCellOnly in: /Users/mki/Library/Developer/Xcode/DerivedData/GridViewTest-esfqwoooiarqpchfzsazwbgckmso/Build/Intermediates/GridViewTest.build/Debug-iphoneos/GridViewTest.build/Objects-normal/armv7s/MKIViewController.o /Users/mki/Library/Developer/Xcode/DerivedData/GridViewTest-esfqwoooiarqpchfzsazwbgckmso/Build/Intermediates/GridViewTest.build/Debug-iphoneos/GridViewTest.build/Objects-normal/armv7s/MKIGridView.o ld: 3 duplicate symbols for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation)

Maik

+0

你会需要修改你的问题在连接器输出进行粘贴。要找到它,请选择“视图”>“导航器”>“显示日志导航器”。然后点击日志导航器中最上面的“Build * YourTarget *”行。然后查看日志并找到链接器输出。 –

回答

11

您忘记在值定义周围使用大括号。

typedef NS_ENUM(NSInteger, MKIGridViewSelectionStyle) { 
     MKIGridViewSelectionStyle_SelectCellOnly = 1, 
     MKIGridViewSelectionStyle_SelectCompleteRow = 2, 
     MKIGridViewSelectionStyle_SelectCompleteColumn = 3 
}; 
+0

啊,好的,谢谢! – Maik639

+3

还要确保“typedef”在那里,没有它你也可以看到类似的重复符号错误。 – MikecheckDev