0
我創建了一個名爲「ObjCWorkAppMath.m」的NSObject文件,它包含一些有用的功能,我想在我的ViewController文件中使用該類,但XCode不編譯我的項目並返回錯誤如下:Apple O-mach鏈接器錯誤
duplicate symbol _OBJC_METACLASS_$_ObjCWorkAppMath in:
/Users/ctkt/Library/Developer/Xcode/DerivedData/ObjCWorkApp-hgxcjtjhzwxhqxcmxgkpucpfpieq/Build/Intermediates/ObjCWorkApp.build/Debug-iphonesimulator/ObjCWorkApp.build/Objects-normal/i386/ObjCWorkAppMath.o
/Users/ctkt/Library/Developer/Xcode/DerivedData/ObjCWorkApp-hgxcjtjhzwxhqxcmxgkpucpfpieq/Build/Intermediates/ObjCWorkApp.build/Debug-iphonesimulator/ObjCWorkApp.build/Objects-normal/i386/ObjCWorkAppViewController.o
duplicate symbol _OBJC_CLASS_$_ObjCWorkAppMath in:
/Users/ctkt/Library/Developer/Xcode/DerivedData/ObjCWorkApp-hgxcjtjhzwxhqxcmxgkpucpfpieq/Build/Intermediates/ObjCWorkApp.build/Debug-iphonesimulator/ObjCWorkApp.build/Objects-normal/i386/ObjCWorkAppMath.o
/Users/ctkt/Library/Developer/Xcode/DerivedData/ObjCWorkApp-hgxcjtjhzwxhqxcmxgkpucpfpieq/Build/Intermediates/ObjCWorkApp.build/Debug-iphonesimulator/ObjCWorkApp.build/Objects-normal/i386/ObjCWorkAppViewController.o
ld: 2 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我試着在計算器所有方案來解決這個錯誤,它仍然無法正常工作或我不能這樣做的權利...
#import "ObjCWorkAppViewController.h"
#import "ObjCWorkAppMath.m"
@interface ObjCWorkAppViewController()
@end
@implementation ObjCWorkAppViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
哪裏錯了嗎?
作爲一個規則的拇指,從來沒有導入M文件(除非你真的有一個很好的理由) – 2013-03-23 08:26:32
@canpoyrazoğlu:是的,這是很好的建議。也許Xcode不應該提供用於自動完成的.m文件。 – 2013-03-23 08:55:47
是的,我同意。它會造成混亂。有一些角落的情況下,人們可能想包括他們,但這從來就不是一般情況。 – 2013-03-23 08:58:39