我有一个BConstants.h
文件,我把所有常量都放到我的项目中。该文件如下:
#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常量?
答案 0 :(得分:14)
除了重复文件
之外,此错误还有其他两种可能性