错误 - 架构arm64的2个重复符号?
问题描述:
我有一个BConstants.h
文件,我把我的项目的所有常量。该文件如下:错误 - 架构arm64的2个重复符号?
#ifndef asdf_BConstants_h
#define asdf_BConstants_h
typedef NS_ENUM(NSUInteger, BTheme) {
kField
};
typedef NS_ENUM(NSUInteger, BItem) {
kBox
};
typedef NS_ENUM(NSUInteger, BMovementState) {
kTouchUp,
kTouchDown
};
#endif
当我以下三行添加到该文件时,我收到后续错误文件的时候#import
版到另一个.m
文件
...
NSString * const kHero = @"Hero";
NSString * const kCount = @"Count";
#endif
错误:
duplicate symbol _kHero in:
...list of .o files
duplicate symbol kCount in:
...list of .o files
2 duplicate symbols for architecture arm64
我看过已发布的问题,因此我可能在应用程序的compile sources
中有重复的文件ñtarget
,但我检查,我发现没有重复的文件。这个问题还有哪些地方可以解决,是否在BConstants.h
文件中包含了2个NSString常量?
答
有除了重复文件
- 你可能会误 进口.m文件,而不是.H
- 常量kHero和kCount在一些其他文件已定义2种此错误的其他可能性。由于 您在常量文件中定义这些常量,只需在Prefix.pch文件中导入 该文件并从其他地方删除。
是的,我认为那些'NSString's需要先编译。我只是直接将'.h'导入任何'.m'文件。我在'Prefix.pch'中的'#import'和'#endif'之间放置了'BPContants.h'? –
Michael
2014-09-20 04:46:25
这个答案没有解决实际问题。 – rmaddy 2014-09-20 05:37:05