내 프로젝트를 컴파일하고 실행하는 동안 위의 오류가 발생했습니다.링커 명령이 종료 코드 1 오류로 인해 실패했습니다.
duplicate symbol _timeTick in:
/Users/zstephen/Library/Developer/Xcode/DerivedData/MyStore_2-ejjgywkgxdulkogcohzbzojgqpzp/Build/Intermediates/MyStore 2.build/Debug-iphonesimulator/MyStore.build/Objects-normal/i386/TimeController.o
/Users/zstephen/Library/Developer/Xcode/DerivedData/MyStore_2-ejjgywkgxdulkogcohzbzojgqpzp/Build/Intermediates/MyStore 2.build/Debug-iphonesimulator/MyStore.build/Objects-normal/i386/DeviceDetailViewController.o
ld: 1 duplicate symbol for architecture i386
그 소리 : 오류 : 링커 명령 (호출을보기 위해 사용 -v) 종료 코드 1로 실패
가 어떻게이 문제를 해결합니까 여기에 대한 상세한 설명인가? 미리 감사드립니다!
UPDATE : 여기 timeTick가 사용되는 3 개 개의 파일입니다 :
.H :
#import <UIKit/UIKit.h>
int timeTick = 0;
@interface TimeController : UIViewController{
IBOutlet UILabel *labelTime;
}
- (IBAction)startTimer:(id)sender;
@end
하는 .m :
@implementation TimeController
NSTimer *timer;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
labelTime.text = @"0";
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)startTimer:(id)sender {
[timer invalidate];
timer= [NSTimer scheduledTimerWithTimeInterval:60.0 target:(self) selector: (@selector(tick)) userInfo:(nil) repeats:(YES)];
}
-(void)tick{
timeTick++;
NSString *timeString = [[NSString alloc] initWithFormat:@"%d", timeTick];
labelTime.text = timeString;
}
@end
마지막으로, 저장 및로드 별도의 파일이 timeTick을 핵심 데이터로 변환합니다.
하는 .m가 :
NSNumber *timetickNumber = [NSNumber numberWithInt:timeTick];
[newDevice setValue:timetickNumber forKey:@"name"];
오류 메시지에는 _timeTick이 두 방법 모두에서 전역으로 선언되어 있습니다. 그러지 마. easm 파일에 _timeTick의 선언 코드를 보여줍니다. – zaph
@Zaph _timeTick에 대한 모든 참조를 삭제했습니다. 오류가 계속 발생합니다. timeTick이라는 int를 사용하고 있습니다. 영향을 미치나요? – PanicDev
가능합니다. timeTick이 사용되는 코드를 게시하면 더 많은 정보를 제공 할 수 있습니다. – user1118321